Sklep przestał działać natychmiast po uruchomieniu composer update. Biała strona lub błąd 500 na froncie i adminie, logi pełne błędów PHP Fatal Error. Czas realizacji: 2 godziny.
Objawy
- HTTP 500 na każdej stronie sklepu i panelu admin
- W
var/log/exception.log:PHP Fatal error: Cannot declare class X, because the name is already in use - Lub:
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 8.2.0" - Problem pojawił się bezpośrednio po
composer update
Przyczyna
Aktualizacja podniosła wersję jednej z bibliotek która wymagała wyższej wersji PHP niż zainstalowana na serwerze. Alternatywnie: dwa moduły zainstalowały tę samą klasę w różnych wersjach powodując konflikt autoloadera.
Rozwiązanie
# Sprawdź logi tail -100 var/log/exception.log tail -100 var/log/system.log # Sprawdź wersję PHP php -v # Sprawdź wymagania composera composer check-platform-reqs # Wróć do poprzedniego stanu git stash # jeśli vendor był w git # lub composer install # przywróci z composer.lock # Aktualizuj selektywnie zamiast "update all" composer update magento/module-catalog --with-dependencies # Przed każdą aktualizacją testuj na staging: composer update --dry-run
Wnioski
Nigdy nie rób composer update bez --dry-run na produkcji. Zawsze sprawdzaj composer check-platform-reqs po aktualizacji. Staging środowisko jest obowiązkowe przed każdą aktualizacją.
