从XAMPP(localhost / magento)访问Magento文件夹时遇到这些错误:
致命错误:未捕获错误:函数名称必须是字符串 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\核心\型号\ layout.php中:555 堆栈跟踪:#0 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\核心\控制器\瓦瑞恩\ action.php的(390): Mage_Core_Model_Layout-> getOutput()#1 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\安装\控制器\ WizardController.php(120): Mage_Core_Controller_Varien_Action-> renderLayout()#2 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\核心\控制器\瓦瑞恩\ action.php的(418): Mage_Install_WizardController-> beginAction()#3 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\核心\控制器\瓦瑞恩\路由器\ Standard.php(250): Mage_Core_Controller_Varien_Action-> dispatch('begin')#4 C:\ XAMPP \ htdocs中\ em0126 \应用\代码\核心\法师\核心\控制器\瓦瑞恩\ 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 in C:\ xampp \ htdocs \ em0126 \ app \ code \ core \ Mage \ Core \ Model \ Layout.php on 第555行
答案 0 :(得分:92)
您的解决方案
致命错误:未捕获错误:函数名称必须是...中的字符串 app \ code \ core \ Mage \ Core \ Model \ Layout.php:555 ...
此错误很容易解决,因为问题出现在以下行中:
$out .= $this->getBlock($callback[0])->$callback[1]();
相反它应该是:
$out .= $this->getBlock($callback[0])->{$callback[1]}();
在下面给出的链接中找到您的详细解决方案 http://www.code007.ro/making-work-magento-with-php-7-rc1/
答案 1 :(得分:21)
由于PHP7
不建议编辑核心文件。我们会覆盖它。
将此文件app/code/core/Mage/Core/Model/Layout.php
复制到app/code/local/Mage/Core/Model/Layout.php
更改app/code/local/Mage/Core/Model/Layout.php
文件中的代码(第555行)
$out .= $this->getBlock($callback[0])->$callback[1]();
要:
$out .= $this->getBlock($callback[0])->{$callback[1]}();
答案 2 :(得分:15)
将第555行更改为:
$out .= $this->getBlock($callback[0])->{$callback[1]}();
有效。但有一件事我不确定这是不是真的是一个php7。我在我的网站上使用相同的文件和配置在同一台服务器上运行它,并且在没有更改该行的情况下没有任何问题。
答案 3 :(得分:10)
转到app \ code \ core \ Mage \ Core \ Model \ Layout.php第555行和
change $callback[1] to {$callback[1]}
答案 4 :(得分:7)
这是一个php7问题,因为当我从5.6升级到7.0时,我遇到了这个错误。修复它我编辑的核心文件(希望补丁即将推出)或者像之前的其他内容中提到的那样或者像下面那样:
转到app \ code \ core \ Mage \ Core \ Model \ Layout.php第555行
join()