Przejdź do treści
Darmowy audyt

Administracja WWW Problem i rozwiązanie

Błąd krytyczny w WordPressie i biały ekran - przyczyny i naprawa krok po kroku

Autor: Bartosz Gromek Zaktualizowano: 4 min czytania

W skrócie

  • Objaw: zamiast strony pojawia się komunikat o błędzie krytycznym albo pusty biały ekran, czasem także w panelu administracyjnym.
  • Przyczyna: najczęściej wtyczka lub motyw niezgodny z wersją PHP, WordPressa albo z innym dodatkiem, zwykle zaraz po aktualizacji; rzadziej brak pamięci PHP lub błąd w edytowanym pliku.
  • Rozwiązanie: wejdź do panelu linkiem trybu odzyskiwania z maila albo wyłącz wtyczkę przez FTP, przeczytaj debug.log i przywróć zgodną wersję dodatku lub kopię strony.

Nie masz czasu? Zrobimy to za Ciebie - Opieka nad stroną WWW od 299 zł netto / mies.

Jak to wygląda

Odwiedzający widzą krótki komunikat, że na stronie wystąpił błąd krytyczny, albo całkowicie pustą, białą stronę. Czasem awaria dotyczy tylko jednej podstrony (np. z formularzem lub sklepem), a czasem całej witryny razem z panelem wp-admin. Administrator zwykle dostaje na adres e-mail z Ustawień ogólnych wiadomość od WordPressa z nazwą wtyczki lub motywu, który spowodował błąd, i linkiem do trybu odzyskiwania.

  • komunikat o błędzie krytycznym z odnośnikiem do dokumentacji debugowania,
  • biały ekran bez żadnej treści (tzw. White Screen of Death),
  • panel działa, ale wybrane podstrony nie,
  • awaria pojawiła się zaraz po aktualizacji, instalacji wtyczki, zmianie wersji PHP albo edycji pliku.

Ważna wskazówka to moment pojawienia się błędu. Jeśli wystąpił zaraz po konkretnej zmianie, przyczyna prawie zawsze jest z nią związana i najszybciej jest ją cofnąć. Jeśli strona przestała działać bez żadnej zmiany, przyczyną może być automatyczna aktualizacja wykonana w nocy, zmiana po stronie hostingu albo, rzadziej, infekcja.

Dlaczego tak się dzieje

Błąd krytyczny to błąd PHP, który przerywa generowanie strony. Od wersji 5.2 WordPress przechwytuje takie błędy: zamiast technicznego komunikatu pokazuje ogólną informację, a szczegóły wysyła mailem do administratora. Biały ekran bez komunikatu to ten sam problem w starszej wersji WordPressa albo w sytuacji, gdy zabrakło pamięci, zanim mechanizm ochronny zdążył zadziałać.

Niezgodna wtyczka lub motyw

To najczęstsza przyczyna. Nowa wersja wtyczki wymaga nowszego PHP, korzysta z funkcji, której nie ma w motywie, albo koliduje z inną wtyczką. Odwrotnie bywa przy zmianie PHP na nowszą wersję: stare dodatki używają funkcji, które z PHP usunięto.

Brak pamięci lub limit czasu

Ciężki page builder, import produktów albo generowanie miniatur może przekroczyć limit pamięci PHP. W dzienniku błędów zobaczysz wtedy komunikat „Allowed memory size exhausted” z nazwą pliku, który przekroczył limit.

Błąd w edytowanym pliku

Jeden brakujący nawias w functions.php wystarczy, żeby strona przestała działać. Dotyczy to zmian w edytorze plików w panelu i fragmentów kodu wklejanych z poradników bez testu.

Kiedy pojawił się błąd Najczęstsza przyczyna Gdzie sprawdzić
Po aktualizacji wtyczki lub motywu Niezgodność wersji Mail o trybie odzyskiwania, debug.log
Po zmianie wersji PHP Stary motyw lub wtyczka debug.log, Narzędzia, Zdrowie witryny
Bez widocznej zmiany, biały ekran Brak pamięci, przeciążony serwer error_log w panelu hostingu
Po edycji pliku Błąd składni w kodzie Ostatnio zmieniony plik

Nie włączaj wyświetlania błędów (WP_DEBUG_DISPLAY) na działającej stronie. Komunikaty mogą pokazać odwiedzającym ścieżki serwera i fragmenty konfiguracji. Zapisuj błędy wyłącznie do pliku i usuń go po zakończeniu diagnozy.

Ten problem jest jednym z naszej listy 100 problemów z WordPressem. Jeśli awaria pojawiła się bez żadnej aktualizacji, a w plikach widzisz nieznany kod, potraktuj ją jak włamanie i skorzystaj z poradnika WordPress zhakowany - co robić.

Darmowy skan strony

Sprawdź bezpieczeństwo strony za darmo

Wpisz adres, a przeniesiemy Cię do bezpłatnego skanu na stronie CodeScriptum.

Jak to rozwiązać krok po kroku

Błąd krytyczny w WordPressie i biały ekran - przyczyny i naprawa krok po kroku - https://codescriptum.pl/blog/wordpress-blad-krytyczny-na-stronie/

  1. Sprawdź skrzynkę administratora (także spam): mail od WordPressa wskazuje wtyczkę lub motyw i zawiera link do trybu odzyskiwania. Zaloguj się przez ten link i wyłącz wskazany dodatek.
  2. Jeśli maila nie ma, połącz się z serwerem przez FTP lub menedżer plików hostingu i zmień nazwę folderu podejrzanej wtyczki w wp-content/plugins (np. dopisz -off). Gdy nie wiesz, która to wtyczka, zmień nazwę całego folderu plugins.
  3. W pliku wp-config.php ustaw WP_DEBUG i WP_DEBUG_LOG na true, a WP_DEBUG_DISPLAY na false. Odśwież stronę i otwórz wp-content/debug.log: pierwszy wpis „PHP Fatal error” wskazuje plik i linię, która powoduje awarię.
  4. Jeśli błąd prowadzi do motywu, zmień nazwę folderu aktywnego motywu w wp-content/themes. WordPress przełączy się na zainstalowany motyw domyślny.
  5. Przywróć poprzednią, zgodną wersję winnego dodatku z kopii zapasowej lub archiwum wersji na wordpress.org. Jeśli awaria pojawiła się po zmianie PHP, przywróć wcześniejszą wersję PHP w panelu hostingu.
  6. Gdy dziennik pokazuje brak pamięci, podnieś WP_MEMORY_LIMIT w wp-config.php i memory_limit w ustawieniach PHP w panelu hostingu.
  7. Po naprawie wyłącz logowanie błędów, usuń debug.log i kolejne aktualizacje wykonuj najpierw na kopii testowej strony.

Jak sprawdzić, że zadziałało

Otwórz stronę główną, kilka podstron, formularz kontaktowy i panel, zarówno w oknie incognito, jak i jako zalogowany administrator. Po ponownym włączeniu logowania na kilka minut w debug.log nie mogą pojawiać się nowe błędy „Fatal error”, a Narzędzia, Zdrowie witryny nie powinny zgłaszać krytycznych problemów.

Usługa CodeScriptum

Opieka nad stroną WWW

od 299 zł netto / mies.

  • Aktualizacje i kopie zapasowe
  • Monitoring i bezpieczeństwo
  • Pomoc przy awariach

Najczęściej zadawane pytania

Co to jest tryb odzyskiwania WordPressa?

To tryb, w którym administrator może zalogować się do panelu mimo błędu krytycznego. Link przychodzi mailem i działa przez ograniczony czas, a wtyczka powodująca błąd jest wstrzymana tylko dla Ciebie, więc możesz ją bezpiecznie wyłączyć lub zaktualizować.

Dlaczego nie dostałem maila o błędzie krytycznym?

Mail trafia na adres administratora z Ustawień ogólnych, a serwer mógł go nie wysłać albo wiadomość wpadła do spamu. Wtedy wyłącz wtyczki przez FTP i korzystaj z pliku debug.log.

Czy wyłączając wtyczkę przez zmianę nazwy folderu, stracę jej ustawienia?

Nie. Zmiana nazwy folderu tylko dezaktywuje wtyczkę, a jej ustawienia zostają w bazie danych. Po przywróceniu nazwy i ponownej aktywacji wtyczka wraca do poprzedniej konfiguracji.

Źródła

  1. Debugowanie w WordPressie (Advanced Administration Handbook) (otwiera się w nowej karcie) developer.wordpress.org
  2. WordPress: najczęstsze błędy (dokumentacja) (otwiera się w nowej karcie) wordpress.org

Podobne problemy

O autorze

Bartosz Gromek

Założyciel CodeScriptum, technologia i rozwój

Założyciel CodeScriptum - firmy technologicznej z Łodzi, działającej od 2022 roku. Odpowiada za technologię i rozwój, a projekty realizuje razem z zespołem specjalistów od stron, sklepów internetowych, systemów CRM, integracji, AI i marketingu. Na blogu opisuje problemy, z którymi zgłaszają się klienci CodeScriptum, i sprawdzone sposoby ich rozwiązania.

Newsletter

Konkretne porady raz na jakiś czas

Nowe problemy i rozwiązania z bloga, zmiany w przepisach dla sklepów i stron oraz sprawdzone sposoby na więcej klientów z internetu. Bez spamu, wypis jednym kliknięciem.