Adobe Commerce アップグレード 2.4.3、2.3.7-p1 PHP 致命的なエラーのホットフィックス

この文書では、マーチャントがAdobe Commerce(すべてのデプロイメント方式)またはMagento Open Source 2.4.3 または 2.3.7-p1 にアップグレードしようとすると、次のエラーが表示される問題を修正します。

PHP 致命的エラー:キャッチされないエラー:<…>/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74 の未定義の関数Magento\Framework\Filesystem\Directory\str_contains()への呼び出し

この問題は、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/ターミナルで次のコマンドを実行します。 composer require symfony/polyfill-php80 Magentoのルート フォルダから、または composer パッチをインストールします。

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が提供する composer パッチの適用方法 説明を参照してください。

関連資料

GitHub Magento 2.4.3 EE #33680 でサポートされていない PHP 8 コマンド

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