web-dev-qa-db-ja.com

Pressflowへの移行

現在、サイトでdrupal 7を使用しています。最近drupalのPressflowについて読みましたが、通常のdrupal 7バージョンに比べてパフォーマンスが優れているようです。かなりの数のカスタムモジュールがあります。後でプレスフローに移行する必要がある場合、プレスフローをサポートするようにモジュールを変更する必要がありますか?また、drupal 7からプレスフローへの移行に問題はありますか?

4
karthik

現時点では、Pressflow 7に関連するパフォーマンスの改善は含まれていないようです。

以下は、7.110からgithubのpressflow/masterブランチへの差分です。ここでは、pressflowが維持されています。 (https://github.com/pressflow/7)

$ git diff -R pressflow/master 
diff --git b/includes/bootstrap.inc a/includes/bootstrap.inc
index d63a59b..e5e7ab7 100644
--- b/includes/bootstrap.inc
+++ a/includes/bootstrap.inc
@@ -728,6 +728,22 @@ function drupal_settings_initialize() {
   }
   $is_https = isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on';

+  // Load environmental config, if present.
+  if (isset($_SERVER['PRESSFLOW_SETTINGS'])) {
+    $pressflow_settings = json_decode($_SERVER['PRESSFLOW_SETTINGS'], TRUE);
+    foreach ($pressflow_settings as $key => $value) {
+      // One level of depth should be enough for $conf and $database.
+      if ($key == 'conf') {
+        foreach($value as $conf_key => $conf_value) {
+          $conf[$conf_key] = $conf_value;
+        }
+      }
+      else {
+        $$key = $value;
+      }
+    }
+  }
+
   if (isset($base_url)) {
     // Parse fixed base URL from settings.php.
     $parts = parse_url($base_url);
@@ -2329,6 +2345,17 @@ function _drupal_bootstrap_database() {
 function _drupal_bootstrap_variables() {
   global $conf;

+  // Pressflow Smart Start
+  if (!empty($GLOBALS['databases']) && variable_get('pressflow_smart_start', FALSE)) {
+    try {
+      $result = db_query('SELECT s.name FROM {system} s WHERE s.name = :name', array(':name' => 'system'));
+    } catch (Exception $e) {
+      // Redirect to the installer if an essential table is missing.
+      include_once DRUPAL_ROOT . '/includes/install.inc';
+      install_goto('install.php');
+    }
+  }
+
   // Initialize the lock system.
   require_once DRUPAL_ROOT . '/' . variable_get('lock_inc', 'includes/lock.inc');
   lock_initialize();
diff --git b/sites/default/default.settings.php a/sites/default/default.settings.php
index f8894aa..08fc81b 100644
--- b/sites/default/default.settings.php
+++ a/sites/default/default.settings.php
@@ -487,3 +487,13 @@ $conf['404_fast_html'] = '<html xmlns="http://www.w3.org/1999/xhtml"><head><titl
  * Remove the leading hash signs to disable.
  */
 # $conf['allow_authorize_operations'] = FALSE;
+
+/**
+ * Smart start:
+ *
+ * If you would prefer to be redirected to the installation system when a
+ * valid settings.php file is present but no tables are installed, remove
+ * the leading hash sign below.
+ */
+# $conf['pressflow_smart_start'] = TRUE;

これが示すように、実際の変更は2つしかありません。1つは環境から$ conf値を設定することを許可し、もう1つはDrupalが正しくインストールされていない場合の安全性チェックです。両方ともおそらく本当にパンテオンのホスティング環境に関連しています。

したがって、@ wiimが投稿したインタビューはニースですが、2年前のものであり、実際には何も起こりませんでした。したがって、IMHOはnowの切り替えの手間を省くことができます(もちろん、これは変更される可能性があります)。

4
Berdir

Pressflowは、drupalコアと100%API互換です。これは、カスタムモジュールがdrupalのコーディング標準を満たす限り機能し続けることを意味します

また、興味深い読み物であり、プレスフローを選択する理由について情報に基づいた決定を確実に行うために Pressflow 7:Continueing to Push Performance and Scalability in Drupal Pressflow 7が決して魔法のようにサイトを作成するわけではありませんもっと早く ;)

3
wiifm