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()