2

私はec2専用サーバーにDrupal本番サイトをセットアップしています。

主な設定は次のとおりです。

Drupal: 6.16 MySQL: 5.1.57 PHP: 5.3.2-1ubuntu4.17 メモリ制限: 256M ウェブサーバー: Apache/2.2.14 (Ubuntu) jQuery UI: 1.8 jQuery アップデート: 1.3.2

ctools: 6.x-1.9

フィード: 6.x-1.0-beta12 フィード管理者 UI: 6.x-1.0-beta12 フィード ファースト ニュース: 6.x-1.0-beta12 フィード インポート: 6.x-1.0-beta12 フィード ニュース: 6.x-1.0-ベータ12

問題は、admin/build/feeds に移動すると、インポーター リストが空になることです。キャッシュ (admin_menu/flush-cache) をフラッシュすると、リストが再び表示されますが、別のサイト ページをナビゲートした後、admin/build/feeds に再度アクセスすると、インポーター リストが再び空になります。

フィード ノード ページの [インポート] タブでも同じことが起こります (ソース コンテンツ タイプとしてフィードを使用しています)。

私は次のことを試しました:

  • Drupal のキャッシュ関数を使用してキャッシュを明示的にクリアする
  • feeds_importer_load_all 関数を変更して、必要な ctools 静的変数を設定します。
  • PHP メモリ制限を 512MB に増加
  • キャッシュを完全に無効にします。
  • $GLOBALS['conf']['cache'] = FALSE; で明示的にキャッシュを無効にします。hook_init で
  • そして、他のいくつかのパッチも

$cache = &ctools_static( FUNCTION ); $cached_database = &ctools_static('ctools_export_load_object_all');

関数 ctools_export_load_object では常に空であり、空のスキーマが返されます。

上記のどれも問題を解決していません。

同様のシナリオを経験した人はいますか、それとも何が問題なのか知っていますか? 問題の支援に感謝します。

4

1 に答える 1

0

私は解決策を見つけました:

問題は drupal_get_schema 関数にありました。スレッドhttp://drupal.org/node/402896からdrupal 6 パッチ http://drupal.org/files/issues/schema_cache_402896_D6.patch を適用たところ、機能しました。

明らかな問題は、drupal_get_schema が完全なスキーマ キャッシュをロードしていたという事実にあるようです。特定のテーブルが指定されていても、リソースが比較的限られている特定の環境では機能していませんでした。

ありがとう。

于 2012-09-19T06:34:51.170 に答える