web-dev-qa-db-ja.com

致命的なエラー:不明なエラー:関数名はC:\ xampp \ htdocs \ em0126 \ app \ code \ core \ Mage \ Core \ Model \ Layout.php:555スタックトレースの文字列である必要があります:#0スタックトレース:#0

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):C:\ xampp\htdocs\em0126\app\code\core\Mage\Core\Model\Layout.phpの555行目のMage_Core_Mo

33
Sher Ali

あなたのソリューション

致命的なエラー:不明なエラー:関数名は... 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/

99

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

に:

$out .= $this->getBlock($callback[0])->{$callback[1]}();
25
Nadeem0035

行555を次のように変更しました。

$out .= $this->getBlock($callback[0])->{$callback[1]}();

できます。しかし、これが本当にphp7かどうかはわかりません。私はこれを同じサーバー上の同じファイルと設定でウェブサイトで実行していますが、その行を変更せずに問題なく動作しています。

17
MsC

App\code\core\Mage\Core\Model\Layout.php行555に移動し、

 change $callback[1] to {$callback[1]}
10
Pankaj Upadhyay

5.6から7.0にアップグレードしたときにこのエラーが発生したため、これはphp7の問題です。それを修正するために、私はコアファイルを編集しました(パッチがすぐに来ることを願っています)前または他のアンセワーで言及されているように、または以下のように:

App\code\core\Mage\Core\Model\Layout.php行555に移動します

$method = $callback[1];
$out .= $this->getBlock($callback[0])->$method();
7
Mohamed23gharbi