致命错误:未捕获错误:函数名称必须是C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Model\Layout.php中的字符串:555堆栈跟踪:#0

She*_*Ali 35 xampp phpmyadmin magento

我从XAMPP(localhost/magento)访问Magento文件夹时遇到这些错误:

致命错误:未捕获错误:函数名必须是C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Model\Layout.php中的字符串:555堆栈跟踪:#0 C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Controller\Varien\Action.php(390):Mage_Core_Model_Layout-> getOutput()#1 C:\ xampp\htdocs\em0126\app\code\core\Mage\Install\controllers\WizardController.php(120):Mage_Core_Controller_Varien_Action-> renderLayout()#2 C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Controller\Varien\Action.php(418):Mage_Install_WizardController- > beginAction()#3 C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(250):Mage_Core_Controller_Varien_Action-> dispatch('begin')#4 C :\ xampp\htdocs\em0126\app\code\core\Mage\Core\Controller\Varien\Front.php(172):Mage_Core_Controller_Varien_Router_Standard-> match(Object(Mage_Core_Controller_Request_Http))#5> C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Model\App.php(354):Mage_Core_Controller_Varien_Front-> dispatch()#6 C:\ xampp\htdocs\em0126\app\Mage.php(683):Mage_Core_Mo位于第555行的C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Model\Layout.php

小智 103

你的解决方案

致命错误:未捕获错误:函数名称必须是... app\code\core\Mage\Core\Model\Layout.php中的字符串:555 ...

此错误很容易修复,因为问题出在以下行:

$out .= $this->getBlock($callback[0])->$callback[1]();
Run Code Online (Sandbox Code Playgroud)

相反它应该是:

$out .= $this->getBlock($callback[0])->{$callback[1]}();
Run Code Online (Sandbox Code Playgroud)

在下面给出链接 http://www.code007.ro/making-work-magento-with-php-7-rc1/找到您的详细解决方案

  • 为我工作,可能是一个PHP7问题 (7认同)
  • 当然是一个php7问题+1 (3认同)

Nad*_*035 26

它归功于PHP7

不建议编辑核心文件.我们会覆盖它.

将此文件复制app/code/core/Mage/Core/Model/Layout.phpapp/code/local/Mage/Core/Model/Layout.php

更改app/code/local/Mage/Core/Model/Layout.php文件中的代码(第555行)

$out .= $this->getBlock($callback[0])->$callback[1]();
Run Code Online (Sandbox Code Playgroud)

至:

$out .= $this->getBlock($callback[0])->{$callback[1]}();
Run Code Online (Sandbox Code Playgroud)


MsC*_*MsC 18

将第555行更改为:

$out .= $this->getBlock($callback[0])->{$callback[1]}();
Run Code Online (Sandbox Code Playgroud)

有用.但有一件事我不确定这是不是真的是一个php7.我在我的网站上使用相同的文件和配置在同一台服务器上运行它,并且在没有更改该行的情况下没有任何问题.

  • 另一个站点可能使用PHP5,而不是PHP7 :) (2认同)

Pan*_*yay 11

转到app\code\core\Mage\Core\Model\Layout.php第555行和第555行

 change $callback[1] to {$callback[1]}
Run Code Online (Sandbox Code Playgroud)


Moh*_*rbi 7

这是一个php7问题,因为当我从5.6升级到7.0时,我收到了这个错误.修复它我编辑的核心文件(希望补丁即将推出),或者像之前在其他行业中提到的那样或者如下所示:

转到app\code\core\Mage\Core\Model\Layout.php第555行

$method = $callback[1];
$out .= $this->getBlock($callback[0])->$method();
Run Code Online (Sandbox Code Playgroud)