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/ターミナルでMagentoのルート フォルダから composer require symfony/polyfill-php80
コマンドを実行するか、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 でサポートされていない PHP 8 コマンド EE #33680