PHP 7 的 Magento 1 问题
Magento 1 problems with PHP 7
当我尝试将 Magento 1.x 与 PHP 7 一起使用时,我遇到了这两个问题。
问题 1:
无法将数组转换为字符串:app/code/core/Mage/Core/Model/Layout.php
问题 2(在管理员登录时):
Decoding failed: Syntax error app/code/core/Mage/Core/Helper/Data.php(663): Zend_Json::decode('''', 1)
有两种解决方法
1) 使用 Inchoo_PHP7 模块 (https://github.com/Inchoo/Inchoo_PHP7) 但我注意到在我的一些项目中它会影响购物车折扣。
2) 单独处理问题。
问题 1 解决方案:
在 app/code/core/Mage/Core/Model/Layout.php
的第 555 行
$out .= $this->getBlock($callback[0])->$callback[1]();
到
$out .= $this->getBlock($callback[0])->{$callback[1]}();
问题 2 解决方案:
在 app/code/core/Mage/Core/Helper/Data.php
第 659 行
return Zend_Json::decode($encodedValue, $objectDecodeType);
改为
return Zend_Json::decode($objectDecodeType);
我希望它能节省您的时间。如果对你有帮助,请投票给我。非常感谢。
当我尝试将 Magento 1.x 与 PHP 7 一起使用时,我遇到了这两个问题。
问题 1:
无法将数组转换为字符串:app/code/core/Mage/Core/Model/Layout.php
问题 2(在管理员登录时):
Decoding failed: Syntax error app/code/core/Mage/Core/Helper/Data.php(663): Zend_Json::decode('''', 1)
有两种解决方法
1) 使用 Inchoo_PHP7 模块 (https://github.com/Inchoo/Inchoo_PHP7) 但我注意到在我的一些项目中它会影响购物车折扣。
2) 单独处理问题。
问题 1 解决方案:
在 app/code/core/Mage/Core/Model/Layout.php
的第 555 行
$out .= $this->getBlock($callback[0])->$callback[1]();
到
$out .= $this->getBlock($callback[0])->{$callback[1]}();
问题 2 解决方案:
在 app/code/core/Mage/Core/Helper/Data.php
第 659 行
return Zend_Json::decode($encodedValue, $objectDecodeType);
改为
return Zend_Json::decode($objectDecodeType);
我希望它能节省您的时间。如果对你有帮助,请投票给我。非常感谢。