Adobe Commerce升级2.4.3、2.3.7-p1 PHP致命错误修补程序
本文修复了商家尝试升级到Adobe Commerce(所有部署方法)或Magento Open Source2.4.3或2.3.7-p1时出现以下错误的问题:
PHP致命错误:未捕获错误:调用<…>Magento\Framework\Filesystem\Directory\str_contains:74 中的未定义函数/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php()
此问题将在2.4.4、2.4.3-p1和2.3.7-p2版本的范围内修复。
受影响的版本和产品
- 升级到2.3.7-p1或2.4.3时的Adobe Commerce(所有部署方法)。
- 升级到2.3.7-p1或2.4.3时Magento Open Source。
问题
此问题是由使用PHP 8的新Adobe Commerce 2.4.3和2.3.7-p1版本仅函数str_contains
导致的。 Adobe Commerce 2.4.3和2.3.7-p1仅与PHP 7.4兼容,因此无法使用此函数。
重现问题的步骤 :
尝试升级到Adobe Commerce 2.4.3或2.3.7-p1。
预期结果:
升级成功。
实际结果:
PHP致命错误。
解决方案
作为解决方法,您可以在CLI/终端中运行以下命令:从Magento根文件夹运行composer require symfony/polyfill-php80
或安装编辑器修补程序。
为了修复2.4.3的问题,Adobe Commerce(所有部署方法)和Magento Open Source商应应用修补程序:
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
为了修复2.3.7-p1的问题,Adobe Commerce(所有部署方法)和Magento Open Source商家应应用修补程序:
AC-384__Fix_Incompatible_PHP_Method__2.3.7-p1_ce.patch
如何应用修补程序
有关说明,请参阅如何应用Magento提供的编辑器修补程序。
相关阅读
GitHub Magento2.4.3 EE #33680不支持的PHP 8命令