题
今天下午,我面临的缓存错误通常是通过删除app/etc/use_cache.ser解决(在这种情况下)(在这种情况下)解决(在这种情况下)。这个文件到底是什么?内容绝不是描述性的。另外,Magento在什么时候自行再生该文件?
解决方案
那是个 序列化的PHP阵列 这是启用应用程序中缓存功能的标志。这包括块,布局,翻译,配置,EAV等。这是停产的 1.2左右后的一段时间 在1.4 alpha 3中 - 因此,我认为您有一个 过度日期Magento安装.
在磁盘上找到要写/读取的文件的方法在类中 Mage_Core_Model_App
并被标记为弃用:
/**
* Get file name with cache configuration settings
*
* @deprecated after 1.4.0.0-alpha3, functionality implemented in Mage_Core_Model_Cache
* @return string
*/
public function getUseCacheFilename()
{
return $this->_config->getOptions()->getEtcDir().DS.'use_cache.ser';
}
通常看起来像这样:
a:7:{s:6:"config";i:0;s:6:"layout";i:0;s:10:"block_html";i:0;s:9:"translate";i:0;s:11:"collections";i:0;s:3:"eav";i:0;s:10:"config_api";i:0;}
当不陈述的情况下可以看到这样的PHP阵列时:
Array
(
[config] => 0
[layout] => 0
[block_html] => 0
[translate] => 0
[collections] => 0
[eav] => 0
[config_api] => 0
)
此类型文件的问题是,它必须由服务器写作,并且将其生存在app/ etc/中可能会使您的local.xml文件暴露于潜在问题,从而使您的数据库配置和加密键,如果您的权限错误,则可以读取。 。
在某个时候用管理缓存管理屏幕替换了这一点,该屏幕使您能够启用或禁用某些缓存区域。
有关use_cache.ser的故障排除问题的更多信息:
http://www.magentocommerce.com/wiki/groups/227/cache_is_not_wrable
其他提示
对于版本1.4+,此文件不应该存在。它在版本1.4.0.0-alpha3版本中被弃用。
对于1.4之前的版本,该文件用于存储缓存类型的状态(启用/禁用)。它存储了您在菜单下看到的东西 System->Cache Management
.