WordPress

Biały ekran w WordPressie

Zamiast strony widzisz pustą biel. To jeden z najczęstszych objawów i w większości przypadków da się go rozbroić w kilkanaście minut.

3 min czytania

Biały ekran (w skrócie WSoD, od white screen of death) oznacza, że PHP przerwał wykonywanie kodu, zanim cokolwiek zdążyło trafić do przeglądarki. Serwer odpowiedział poprawnie, tylko treści nie ma. Dobra wiadomość jest taka, że przyczyn jest niewiele i da się je przejść po kolei.

Najpierw włącz pokazywanie błędów

Bez tego kroku będziesz zgadywać. Otwórz plik wp-config.php w katalogu głównym strony i tuż przed linią z komentarzem /* That's all, stop editing! */ wstaw:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Odśwież stronę, a następnie zajrzyj do pliku wp-content/debug.log. Znajdziesz tam komunikat z nazwą pliku i numerem linii — to zwykle od razu wskazuje winowajcę.

Dlaczego WP_DEBUG_DISPLAY ustawiamy na false? Bo komunikaty błędów potrafią ujawnić ścieżki na serwerze i fragmenty konfiguracji. Zapis do pliku widzisz tylko Ty, wyświetlanie na stronie — każdy odwiedzający.

Sprawdź wtyczki

W zdecydowanej większości przypadków biały ekran pojawia się zaraz po aktualizacji wtyczki albo motywu. Jeśli masz dostęp do panelu, wyłącz wtyczki po kolei. Jeśli panel też jest biały, zrób to przez FTP lub SSH:

  1. Zmień nazwę katalogu wp-content/plugins na plugins-off. Wszystkie wtyczki zostaną wyłączone naraz.
  2. Sprawdź stronę. Jeśli wróciła, przyczyną jest któraś z wtyczek.
  3. Przywróć nazwę katalogu, a potem zmieniaj nazwy pojedynczych katalogów wtyczek, aż znajdziesz tę, która psuje stronę.

Gdy strona nadal jest biała przy wyłączonych wtyczkach, tym samym sposobem sprawdź motyw — zmień nazwę jego katalogu w wp-content/themes, a WordPress przełączy się na motyw domyślny.

Limit pamięci PHP

Druga najczęstsza przyczyna. Objaw bywa zdradliwy: strona działa, a biały ekran pojawia się tylko w panelu albo przy konkretnej podstronie. W wp-config.php dodaj:

define('WP_MEMORY_LIMIT', '256M');

Jeśli to pomoże, problem jest rozwiązany tylko doraźnie. Warto znaleźć, co zużywa tyle pamięci — zwykle jest to jedna wtyczka albo import dużej liczby danych.

Wersja PHP

Po zmianie wersji PHP na serwerze starsze wtyczki potrafią przestać działać z dnia na dzień. W logu zobaczysz wtedy błąd składni albo wywołanie funkcji, której już nie ma. Sprawdź w panelu hostingu, jaka wersja jest ustawiona, i porównaj z wymaganiami wtyczek.

Cofnięcie wersji PHP to rozwiązanie na chwilę, nie docelowe — starsze wersje przestają dostawać poprawki bezpieczeństwa. Lepiej zaktualizować lub wymienić wtyczkę, która blokuje przejście dalej.

Uszkodzony plik rdzenia

Rzadziej, ale się zdarza — zwłaszcza po przerwanej aktualizacji. Pobierz czystą paczkę WordPressa ze strony projektu i nadpisz katalogi wp-admin oraz wp-includes. Nie nadpisuj katalogu wp-content ani pliku wp-config.php — tam są Twoje treści i konfiguracja.

Zanim zaczniesz cokolwiek zmieniać

Zrób kopię plików i bazy danych. Każdy z powyższych kroków jest odwracalny tylko wtedy, gdy masz do czego wrócić. Jeśli strona zarabia, a Ty nie masz pewności, co robisz — to moment, żeby się zatrzymać i poprosić kogoś o pomoc.

Nie udaje się?

Jeśli problem zostaje albo wolisz nie eksperymentować na działającej stronie, napisz do nas - sprawdzimy to za Ciebie. Diagnoza nic nie kosztuje.

Pomoc przy WordPressie