无法在管理员中重新启用Magento缓存



我的网站出现性能问题,在分析后发现缓存似乎没有加载。所以我去了管理员那里,查看了缓存管理页面,所有缓存都被禁用了。我重新启用了它们,有时一个会显示为已启用,有时没有。

当我能够将配置缓存显示为已启用时,我可以在前端查看探查器,并看到以下行:

mage::app::init::config::load_cache

在我启用缓存之前,探查器中没有显示此行。但是,在短时间(30秒左右)后,任何启用的缓存都会再次显示为禁用,并且前端探查器不再具有此行(缓存未被使用)。

到目前为止,我无法保留缓存。我拥有apache对var/cache的所有权和777权限。文件最初是在那里创建的,但我也使用apc缓存。

配置为:

<cache> <backend>apc</backend> <prefix>SH_</prefix> </cache>

有人有什么想法吗?

尝试将<prefix>SH_</prefix>设置更改为保证唯一的设置,例如数据库名称。

背景

根据您提供的信息,我怀疑另一个Magento实例正在同一台具有相同缓存前缀的机器上运行
无论何时更改设置,Magento都会将其写入数据库,然后保存缓存(请参阅Mage_Core_Model_Cache::_initOptions())。由于Magento实例共享相同的快速后端缓存池(因为前缀相同),其他主机也使用这些设置。一旦缓存被另一台主机清除,它们的(禁用的)设置就会写入缓存。现在,您的实例也会将缓存视为已禁用。

如果没有测试的选择,我无法提供证据,但这是我的最佳猜测。

最新更新