2

我在 ec2 专用服务器上设置了 Drupal 生产站点。

以下是主要设置:

Drupal:6.16 MySQL:5.1.57 PHP:5.3.2-1ubuntu4.17 内存限制:256M Web 服务器: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(函数); $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 回答