Hotfix de erro fatal do PHP 2.4.3, 2.3.7-p1 para Adobe Commerce

Este artigo fornece uma correção para quando os comerciantes tentam atualizar para o Adobe Commerce (todos os métodos de implantação) ou para o Magento Open Source 2.4.3 ou 2.3.7-p1. O seguinte erro é exibido:

Erro fatal de PHP: Erro não capturado: chamada para função indefinida Magento\Framework\Filesystem\Directory\str_contains() em <…>/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74

O problema será corrigido no escopo das versões 2.4.4, 2.4.3-p1 e 2.3.7-p2.

Versões e produtos afetados

  • Adobe Commerce (todos os métodos de implantação) ao atualizar para 2.3.7-p1 ou 2.4.3.
  • Magento Open Source ao atualizar para 2.3.7-p1 ou 2.4.3.

Problema

O problema é causado pelas novas versões do Adobe Commerce 2.4.3 e 2.3.7-p1 usando apenas a função str_contains do PHP 8. Adobe Commerce 2.4.3 e 2.3.7-p1 só são compatíveis com o PHP 7.4, então esta função não pode ser usada.

Etapas a serem reproduzidas:

Tente atualizar para o Adobe Commerce 2.4.3 ou 2.3.7-p1.

Resultado esperado:

Atualização bem-sucedida.

Resultado real:

Erro fatal do PHP.

Solução

Como solução alternativa, você executa o seguinte comando no CLI/Terminal: composer require symfony/polyfill-php80 da pasta raiz do Magento ou instala um patch de compositor.

Para corrigir o problema da versão 2.4.3, o Adobe Commerce (todos os métodos de implantação) e os comerciantes de Magento Open Source devem aplicar o patch:

AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch

Para corrigir o problema da versão 2.3.7-p1, a Adobe Commerce (todos os métodos de implantação) e os comerciantes de Magento Open Source devem aplicar o patch:

AC-384_Fix_Incompatible_PHP_Method_2.3.7-p1_ce.patch

Como aplicar o patch

Consulte Como aplicar um patch de compositor fornecido pelo Magento para obter instruções.

Leitura relacionada

GitHub Comando PHP 8 sem suporte no Magento 2.4.3 EE #33680

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