【问题标题】:How to debug cache in Drupal?如何在 Drupal 中调试缓存?
【发布时间】:2012-08-01 17:25:57
【问题描述】:

我在 Drupal 7 网站上遇到了一个问题,其中不应该缓存的块正在被缓存。如何调试此类问题?我是否有一种简单的方法可以知道哪个块正在被缓存以及使用哪个 cid?

被缓存的块在hook_block_info中是这样定义的:

$blocks['product-info-block'] = array(
  'info' => t('Product info'),
  'cache' => DRUPAL_NO_CACHE,
);

在数据库中没有这个特定块的痕迹,所以我怀疑它被缓存为其他东西的一部分,有没有简单的方法来解决这个问题?

注意:我没有开发这个,所以我对结构几乎一无所知,我只是在做一些错误修复。

【问题讨论】:

    标签: php caching drupal-7


    【解决方案1】:

    检查您的 APC 缓存。显然,检查您的本地缓存。

    另外,如果您使用的代理服务器启用了缓存,请让管理员将您的网站从缓存中排除。

    更新 09:36 GMT-6 20120804:

    好的,所以没有 APC 缓存... 我知道它很脏,但是您可以在站点(或至少您的主题/模块文件夹)中查找“product-info-block”或一些显示块时显示的文本。该块可能存储在插件模块或主题中。

    我还将检查您的模块屏幕上是否有任何与块或性能相关的模块,最后检查您的权限是否为您的匿名和经过身份验证的用户。 (例如,块访问模块可能向匿名用户显示缓存块,但向登录用户显示实时块。这也发生在 Drupal 的缓存中,可以在 Drupal 管理屏幕的性能部分下配置。 )

    【讨论】:

    • APC 缓存甚至未启用。缓存问题不在客户端,但很明显在服务器端,尤其是在 Drupal 内部。我和 Internet 之间没有代理服务器或管理员。
    猜你喜欢
    • 2014-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多