Błąd 500 i biała strona wyglądają groźnie, bo nie mówią, co się stało, a w rzeczywistości to zwykle skutek pojedynczego błędu PHP, którego przyczynę niemal zawsze znajdziesz w logach. Klucz do szybkiej naprawy to nie zgadywanie, tylko odczytanie, co dokładnie zgłasza serwer. Ten poradnik pokazuje, gdzie szukać logów na hostingu webh, jak je czytać i jak po kolei wykluczać najczęstsze przyczyny.
Co oznacza błąd 500 i biała strona
To dwa objawy zwykle tego samego problemu:
- Błąd 500 (Internal Server Error) to ogólny komunikat, że coś po stronie serwera uniemożliwiło wczytanie strony. Sam w sobie nie podaje przyczyny.
- Biała strona (pusty, biały ekran) pojawia się, gdy PHP napotka błąd krytyczny, a wyświetlanie błędów jest wyłączone, więc zamiast komunikatu widzisz pustkę.
W obu przypadkach prawdziwa przyczyna czeka w logach. Dlatego zaczynamy właśnie od nich.
Gdzie są logi i czym się różnią
Logi Twojego konta znajdziesz w katalogu logs na koncie hostingowym (dostęp przez FTP, menedżer plików w panelu lub SSH). Dzielą się na dwa rodzaje, które pełnią różne role:
- Log dostępu (access) zapisuje każde żądanie do strony: Adres odwiedzającego, czas, żądany adres URL i kod odpowiedzi (np. 200, 404, 500). Mówi, co i kiedy próbowano otworzyć.
- Log błędów (error) zapisuje błędy serwera i PHP: Komunikaty krytyczne, ścieżki plików i numery linii. Mówi, dlaczego coś nie zadziałało.
Przy diagnozie błędu 500 i białej strony to log błędów jest najważniejszy. To w nim znajdziesz konkretną przyczynę.
Jak czytać log błędów
Otwórz log błędów i znajdź najnowsze wpisy z czasu, w którym wystąpił problem. Szukaj linii z PHP Fatal error lub PHP Parse error. Typowy wpis wygląda tak:
[20-Jun-2026 10:15:02 UTC] PHP Fatal error: Uncaught Error: Call to undefined function example() in /home/uXXXXXX/twojadomena.pl/wp-content/plugins/nazwa-wtyczki/plik.php:123
Z takiego wpisu odczytasz najważniejsze:
- Rodzaj błędu (tu: Błąd krytyczny PHP),
- Ścieżkę pliku, która wskazuje winowajcę. W przykładzie to
wp-content/plugins/nazwa-wtyczki, czyli problem leży w konkretnej wtyczce, - Numer linii (
:123), pomocny, gdy zgłaszasz problem autorowi wtyczki.
Ścieżka prowadząca do plugins/ wskazuje wtyczkę, do themes/ motyw, a do plików rdzenia WordPress, sam rdzeń lub wyczerpaną pamięć. To zwykle wystarcza, by wiedzieć, gdzie szukać dalej.
Włącz tryb debugowania WordPress
Jeśli log błędów konta jest mało czytelny lub chcesz zobaczyć błędy samego WordPress, włącz jego tryb debugowania. W pliku wp-config.php dodaj:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Od tej pory WordPress zapisuje błędy do pliku wp-content/debug.log, a WP_DEBUG_DISPLAY ustawione na false sprawia, że nie pokazują się odwiedzającym. Po zakończeniu diagnozy wyłącz debugowanie, ustawiając WP_DEBUG z powrotem na false.
Uwaga
Nie zostawiaj włączonego wyświetlania błędów na żywej stronie. Komunikaty mogą ujawnić ścieżki plików i szczegóły konfiguracji, co jest informacją przydatną dla atakującego. O zabezpieczeniach piszemy w artykule o bezpieczeństwie WordPress.
Najczęstsze przyczyny i jak je sprawdzić
Gdy log wskazał kierunek, sprawdź przyczynę. Przed każdą zmianą warto mieć kopię zapasową.
Konflikt wtyczki lub motywu
Najczęstsza przyczyna. Jeśli log wskazuje plik w plugins/ lub themes/:
- Dezaktywuj podejrzaną wtyczkę. Gdy nie masz dostępu do panelu, zmień nazwę jej katalogu w
wp-content/pluginsprzez FTP, co ją wyłączy. - Jeśli winny jest motyw, przełącz się tymczasowo na domyślny motyw WordPress.
- Na pakiecie z SSH wygodnie zrobisz to przez WP-CLI, np. dezaktywując wtyczki jedną komendą.
Uszkodzony plik .htaccess
Błąd 500 bez wpisu PHP w logu często oznacza problem z plikiem .htaccess. Zmień jego nazwę (np. na .htaccess_old) i sprawdź stronę. Jeśli zacznie działać, wejdź w ustawienia bezpośrednich odnośników w WordPress i zapisz je, co wygeneruje poprawny plik na nowo.
Wyczerpana pamięć PHP
Wpis w stylu Allowed memory size ... exhausted oznacza, że skryptowi zabrakło pamięci. Zwiększ limit pamięci PHP w ustawieniach PHP w panelu hostingowym oraz, pomocniczo, w wp-config.php:
define( 'WP_MEMORY_LIMIT', '256M' );
Limity hostingu i ustawienia PHP opisujemy w artykule o limitach.
Niewłaściwa wersja PHP
Część wtyczek i motywów wymaga konkretnej wersji PHP. Zbyt stara lub zbyt nowa potrafi wywołać błąd krytyczny. Sprawdź i dopasuj wersję zgodnie z artykułem o PHP.
Przekroczony limit inode lub miejsca
Komunikaty Disk quota exceeded w logu oznaczają wyczerpany limit liczby plików (inode) lub miejsca, co również objawia się błędem 500. Jak to rozpoznać i zwolnić zasoby, opisujemy w artykule o limicie inode i dysku.
Uszkodzone pliki rdzenia
Jeśli log wskazuje pliki rdzenia WordPress, wgraj je na nowo w aktualnej wersji, nadpisując pliki systemowe (z wyjątkiem wp-config.php i katalogu wp-content).
Kiedy przydaje się log dostępu
Log dostępu (access) pomaga, gdy chcesz zobaczyć szerszy obraz:
- Potwierdzić, że błąd 500 faktycznie występuje i dla którego adresu URL (kod 500 w wierszu żądania).
- Namierzyć problematyczny adres, gdy strona działa, ale jedna podstrona zwraca błąd.
- Wychwycić wzmożony ruch botów, który przeciąża stronę. Gdy zamiast 500 widzisz nawał żądań i błędy przeciążenia, sprawdź limity i błąd 507.
Najczęstsze pytania
Strona pokazuje tylko biały ekran, od czego zacząć?
Otwórz log błędów w katalogu logs i znajdź najnowszy wpis PHP Fatal error. Jeśli log jest niejasny, włącz tryb debugowania WordPress (WP_DEBUG_LOG) i sprawdź wp-content/debug.log. Ścieżka pliku w komunikacie wskaże winowajcę.
Błąd 500 pojawił się po instalacji wtyczki, co robić?
Najpewniej to konflikt tej wtyczki. Dezaktywuj ją, a gdy nie masz dostępu do panelu, zmień nazwę jej katalogu w wp-content/plugins przez FTP. Strona powinna wrócić, a log błędów potwierdzi przyczynę.
Czym różni się log dostępu od logu błędów?
Log dostępu (access) zapisuje wszystkie żądania i ich kody odpowiedzi, więc mówi, co próbowano otworzyć. Log błędów (error) zapisuje przyczyny awarii, w tym błędy PHP. Do diagnozy błędu 500 i białej strony używaj logu błędów.
Nie znajduję przyczyny w logach, co dalej?
Jeśli log nie wskazuje jednoznacznej przyczyny, a podstawowe kroki (wyłączenie wtyczek, sprawdzenie .htaccess, pamięci i wersji PHP) nie pomagają, napisz zgłoszenie i podaj treść błędu z logu oraz czas wystąpienia. Ułatwi to szybkie ustalenie przyczyny.