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命令

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a