| Platforma: | PrestaShop 8.x |
| Problem: | White Screen - brak dostępu do admina |
| Czas realizacji: | 45 minut |
| Ekspert: | Adrian Szewalski |
| Wynik PRZED: | Sklep 100% offline · WSOD |
| Wynik PO: | Sklep online · Zabezpieczenia wdrożone |
Godzina 10:22 – biały ekran zamiast sklepu
„Próbowałem zainstalować darmowy moduł dla faktur. Teraz widzę tylko biały ekran. Panel admina też nie działa. Mam dziś 3 wysyłki do realizacji.”
White Screen of Death (WSOD) w PrestaShop to jeden z najbardziej stresujących problemów – brak komunikatu błędu, żadnej wskazówki. Tylko biała strona.
Pierwsze działanie: SSH na serwer i logi PHP:
PHP Fatal error: Cannot redeclare _PS_VERSION_
in /modules/fakturowniapl/fakturowniapl.php on line 3
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted
Dwa problemy naraz. Klasyczny scenariusz złego modułu.
Diagnoza
Problem 1: Duplikat definicji stałej
Darmowy moduł z zewnętrznego marketplace zawierał na początku pliku:
define('_PS_VERSION_', '1.7.0.0');
PrestaShop sam definiuje tę stałą podczas bootstrapu w defines.inc.php. Próba ponownego zdefiniowania kończy się krytycznym błędem PHP – i białym ekranem całego sklepu.
Problem 2: Przepełnienie pamięci RAM podczas instalacji
Moduł próbował podczas instalacji wygenerować faktury dla wszystkich historycznych zamówień (800+). Limit pamięci: 128 MB. Operacja wymagała 340 MB. PHP zabił proces w połowie – zostawiając częściowo zainicjalizowane dane w bazie.
Naprawa krok po kroku
Krok 1: Wyłączenie modułu przez FTP (5 minut)
Bez dostępu do panelu admina: bezpośrednia interwencja na plikach. Zmiana nazwy katalogu modułu z .disabled na końcu. PrestaShop załadował się poprawnie. Biały ekran zniknął.
Krok 2: Czyszczenie uszkodzonych danych sesji (10 minut)
TRUNCATE TABLE ps_smarty_cache;
TRUNCATE TABLE ps_smarty_lazy_cache;
DELETE FROM ps_module WHERE name = 'fakturowniapl';
Krok 3: Weryfikacja integralności bazy (20 minut)
mysqlcheck z opcją -check dla wszystkich tabel. Trzy tabele wymagały REPAIR TABLE. Żadna z tabel zamówień, produktów ani klientów nie była uszkodzona.
Krok 4: Zabezpieczenie na przyszłość (10 minut)
- Zwiększenie limitu pamięci PHP do 512 MB
- Tryb maintenance z białą listą IP admina przed każdą instalacją modułu
- BackupGuard – automatyczny backup przed każdą aktualizacją
Wyniki
- ✅ Sklep przywrócony: 45 minut od zgłoszenia
- ✅ Brak utraty danych: 100% zamówień i klientów zachowanych
- ✅ Backupy: cotygodniowy + przed każdą zmianą
- ✅ Monitoring: Uptime Robot z alertem SMS w 1 minutę od awarii
Każdy niezweryfikowany moduł to ryzyko
Darmowy moduł bez review PrestaShop Addons może zawierać błędy jak ten – albo znacznie gorsze (backdoor, kradzież danych klientów). Zawsze instaluj moduły ze sprawdzonych źródeł i miej aktualny backup. Czas przywrócenia ze skompresowanego backupu: 8 minut. Bez backupu: niemożliwe.
Masz pytania związane z tym tematem? Skontaktuj się ze mną:
Chętnie Ci pomogę w tym zakresie
Email: [email protected]
Telefon: +48 888 830 888
Strona: https://helpguru.eu