Magento 致命错误:对非对象调用成员函数setActive()

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扩展。我在任何其他服务器上都没有这个问题 请帮忙

我在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扩展。我在任何其他服务器上都没有这个问题


请帮忙

根据行号,我主要运行与您不同的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的内存