Magento,致命错误,“在非对象上调用 ... getAllOptions() ... Core\Model\Cache.php”

Posted

技术标签:

【中文标题】Magento,致命错误,“在非对象上调用 ... getAllOptions() ... Core\\Model\\Cache.php”【英文标题】:Magento, Fatal error, 'Call to ... getAllOptions() on a non-object ... Core\Model\Cache.php'Magento,致命错误,“在非对象上调用 ... getAllOptions() ... Core\Model\Cache.php” 【发布时间】:2012-05-22 02:49:52 【问题描述】:

添加到我的 frontend/default/[theme]/ 文件夹后,我遇到了一个错误,该站点将不再加载。我删除了有问题的文件,但该网站仍然无法加载。启用 php 错误输出会导致此消息:

Fatal error: Call to a member function getAllOptions() on a non-object in C:\websites\[snip]\htdocs\app\code\core\Mage\Core\Model\Cache.php on line 449

我已经清除了缓存,当页面被(试图)加载时,var/cache 文件夹中没有创建任何内容......你知道还有什么可以缓存在某个地方吗?

另外请注意,这使前端和后端都脱机,所以我无法访问管理系统。

这似乎与此处提到的相同问题 (site down - Fatal error: includes/src/Mage_Core_Model_Cache.php on line 434)。我没有启用编译器,所以错误直接在 Core/Model/Cache.php 中。

【问题讨论】:

您在 /var/cache 上的权限设置是否正确? 【参考方案1】:

在我的情况下,出现此问题是因为我的 app/etc/config.xml 文件丢失了。 尝试查看您的 XML 配置文件是否存在。

【讨论】:

很抱歉没有回复你,里卡多,你在现场。结果在我疯狂的调试过程中,我设法删除了告诉 Mage /app/etc 文件夹在哪里的行(这个站点将它存储在 webroot 之外),所以即使在我解决了问题之后(在数据库中,缓存仍然启用,但它没有被使用/刷新)该网站仍然无法正常工作。不过现在排序了,我对 Magento 的内部运作了解得更多! 完美!因为这个文件在 GIT .ignore 列表中;-) 呵呵【参考方案2】:

解决方案:

将 app/etc/config.xml 从原始 magento 复制到您的 magento。

【讨论】:

【参考方案3】:

这是修复它的方法(经过大量研究后它对我有用):

chmod 644 app/etc/config.xml
chmod 755 app/etc
chmod 755 app/etc/modules

rm -rf var/cache/* var/session/*
php shell/indexer.php --reindexall

【讨论】:

以上是关于Magento,致命错误,“在非对象上调用 ... getAllOptions() ... Core\Model\Cache.php”的主要内容,如果未能解决你的问题,请参考以下文章

致命错误:在非对象上调用成员函数 getLoginUrl()

PDO 致命错误:在非对象上调用成员函数 prepare()

致命错误:在非对象上调用成员函数 fetch_array()

Zend_Mail generateMessage() 导致致命错误:在非对象上调用成员函数 getContent()

致命错误:在非对象上调用成员函数 fetchALL() - 在 Microsoft Access 数据库上使用 PDO

在服务器上安装 magento 时出现致命错误