Magento 致命错误:对非对象调用成员函数setActive()
我在Magento后端遇到以下错误:Magento 致命错误:对非对象调用成员函数setActive(),magento,Magento,我在Magento后端遇到以下错误: Fatal error: Call to a member function setActive() on a non-object in /var/www/vhosts/pro-pin.ca/httpdocs/app/code/core/Mage/Adminhtml/Controller/Action.php on line 82 我浏览了社区论坛,但发现这是由于magic slider或lightbox扩展。我在任何其他服务器上都没有这个问题 请帮忙
Fatal error: Call to a member function setActive() on a non-object in /var/www/vhosts/pro-pin.ca/httpdocs/app/code/core/Mage/Adminhtml/Controller/Action.php on line 82
我浏览了社区论坛,但发现这是由于magic slider或lightbox扩展。我在任何其他服务器上都没有这个问题
请帮忙 根据行号,我主要运行与您不同的Magento版本,但是如果您查看
Action.php
,您会看到类似的内容
protected function _setActiveMenu($menuPath)
{
$this->getLayout()->getBlock('menu')->setActive($menuPath);
return $this;
}
呼吁
$this->getLayout()->getBlock('menu')
应该返回一个块对象,但如果您的系统没有返回,则返回。在您的一个扩展中,最可能的罪魁祸首是从布局中删除名为menu的块,或某个开发人员摆弄了一些布局和/或核心文件
在开发环境中删除所有模块。如果问题消失,请重新启用,直到它再次启动,您将知道是哪个模块导致了问题。如果问题仍然存在,请获取Magento的新副本并开始扩散文件 我删除了所有扩展名并尝试了,但没有成功,但是当我替换adminhtml布局文件时,它起了作用。
布局文件目录为adminhtml/default/default/layout/删除模块之前,请尝试手动清除缓存文件
转到var/cache并删除文件夹中的所有目录(如果出现拒绝消息的提示,请跳过这些项目)。耐心等待,可能有几千个缓存文件。完成后,请再次尝试登录,10次中有9次您可以登录。您需要删除local.xml文件并重新安装存储(无数据丢失-这将在不删除数据的情况下安装magento引擎) 希望这有帮助。试试:
ini_set('memory_limit', '256M');
在index.php
中,或增加php.ini的内存