Adobe Commerce upgrade 2.4.3, 2.3.7-p1 PHP Fatale error Hotfix
Dit artikel biedt een oplossing voor het volgende probleem: wanneer winkeliers proberen te upgraden naar Adobe Commerce (alle implementatiemethoden) of Magento Open Source 2.4.3 of 2.3.7-p1:
PHP Onherstelbare fout: Uncaught Error: Call to undefined function Magento\Framework\Filesystem\Directory\str_contains() in <…>/magento/vendor/magento/framework/Filesystem/Directory/DenyListPathValidator.php:74
De kwestie zal worden vastgesteld in het toepassingsgebied van 2.4.4, 2.4.3-p1 en 2.3.7-p2.
Betrokken versies en producten
- Adobe Commerce (alle implementatiemethoden) bij de upgrade naar 2.3.7-p1 of 2.4.3.
- Magento Open Source bij de upgrade naar 2.3.7-p1 of 2.4.3.
Probleem
Dit probleem wordt veroorzaakt door de nieuwe Adobe Commerce 2.4.3- en 2.3.7-p1-versies die alleen PHP 8 gebruiken, functie str_contains
. Adobe Commerce 2.4.3 en 2.3.7-p1 zijn alleen compatibel met PHP 7.4, dus deze functie kan niet worden gebruikt.
Stappen om te reproduceren:
Poging om te upgraden naar Adobe Commerce 2.4.3 of 2.3.7-p1.
Verwacht resultaat:
Upgrade voltooid.
Ware resultaat:
PHP fatale fout.
Oplossing
Als tussenoplossing stelt u het volgende bevel in CLI/Terminal in werking: composer require symfony/polyfill-php80
van de de wortelomslag van het Magento of installeert een composer flard.
Om het probleem voor 2.4.3 op te lossen, moeten Adobe Commerce (alle implementatiemethoden) en Magento Open Source handelaren een patch toepassen:
AC-384_Fix_Incompatible_PHP_Method__2.4.3_ce.patch
Om het probleem voor 2.3.7-p1 op te lossen, moeten Adobe Commerce (alle implementatiemethoden) en Magento Open Source-handelaren een patch toepassen:
Hoe de pleister moet worden aangebracht
Zie hoe te om een componentenflard toe te passen die door Magentovoor instructies wordt verstrekt.
Verwante lezing
GitHub Niet gestaafd PHP 8 bevel in Magento 2.4.3 EE #33680