Błąd „White Screen of Death” (WSOD) w WordPressie to problem, który objawia się całkowicie białą stroną bez żadnych komunikatów o błędzie. Zazwyczaj oznacza, że na serwerze wystąpił krytyczny błąd PHP, a WordPress nie może załadować treści. Najczęściej ten problem jest wynikiem błędów w kodzie motywu, wtyczki, wyczerpania limitu pamięci lub problemów z bazą danych. Ponieważ WSOD nie wyświetla żadnych wskazówek co do przyczyny błędu, diagnozowanie może być trudne, ale istnieje kilka kroków, które można podjąć, aby naprawić ten problem.
W tym artykule omówimy najczęstsze przyczyny „White Screen of Death” oraz jak je naprawić.
1. Włączanie trybu debugowania WordPressa
Pierwszym krokiem, który pomoże zidentyfikować przyczynę WSOD, jest włączenie trybu debugowania w WordPressie. Tryb debugowania wyświetli szczegółowe informacje o błędach, które mogą pomóc w znalezieniu źródła problemu.
Jak włączyć tryb debugowania w WordPressie?
- Zaloguj się na serwer przez FTP lub użyj menedżera plików w panelu hostingowym.
- Znajdź i otwórz plik wp-config.php, który znajduje się w głównym katalogu WordPressa.
- Dodaj lub edytuj następujący kod, aby włączyć tryb debugowania:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
@ini_set('display_errors', 0);
- Zapisz plik i odśwież stronę.
- Sprawdź plik debug.log: WordPress utworzy plik debug.log w katalogu wp-content. Otwórz ten plik, aby zobaczyć szczegółowe informacje o błędach PHP, które mogą powodować problem.
Po znalezieniu przyczyny problemu w logach będziesz mógł przejść do odpowiednich kroków naprawczych.
2. Zwiększenie limitu pamięci PHP
Jedną z najczęstszych przyczyn „White Screen of Death” jest wyczerpanie limitu pamięci PHP, szczególnie jeśli strona korzysta z wielu wtyczek lub zasobożernych motywów. Możesz zwiększyć limit pamięci PHP, aby naprawić ten problem.
Jak zwiększyć limit pamięci PHP?
- Edytuj plik wp-config.php:
- Zaloguj się na serwer przez FTP i otwórz plik wp-config.php.
- Dodaj poniższą linię kodu:
php define('WP_MEMORY_LIMIT', '256M');
- Edytuj plik php.ini (jeśli masz do niego dostęp):
- Znajdź plik php.ini i dodaj lub zaktualizuj następujące linie:
plaintext memory_limit = 256M
- Zaktualizuj plik .htaccess (jeśli nie masz dostępu do php.ini):
- Dodaj poniższy kod do pliku .htaccess:
plaintext php_value memory_limit 256M
Po zwiększeniu limitu pamięci spróbuj ponownie załadować stronę, aby sprawdzić, czy problem został rozwiązany.
3. Wyłączenie wszystkich wtyczek
Czasami błędna lub niekompatybilna wtyczka może powodować „White Screen of Death”. Najlepszym sposobem na sprawdzenie, czy problem dotyczy wtyczki, jest tymczasowe wyłączenie wszystkich wtyczek.
Jak wyłączyć wszystkie wtyczki?
- Zaloguj się na serwer przez FTP i przejdź do katalogu wp-content.
- Znajdź folder plugins.
- Zmień nazwę folderu plugins na coś innego (np. plugins_old), aby tymczasowo wyłączyć wszystkie wtyczki.
- Sprawdź, czy strona działa poprawnie:
- Jeśli tak, oznacza to, że problem leży po stronie jednej z wtyczek.
- Włączaj wtyczki pojedynczo:
- Zmień nazwę folderu plugins z powrotem na oryginalną, a następnie włączaj wtyczki pojedynczo, aby zidentyfikować, która z nich powoduje problem.
4. Przełączenie motywu na domyślny
Jeśli problem nie leży po stronie wtyczek, kolejnym krokiem jest sprawdzenie, czy motyw nie powoduje „White Screen of Death”. Niektóre motywy mogą być niekompatybilne z nową wersją WordPressa lub mogą zawierać błędy w kodzie.
Jak przełączyć motyw na domyślny?
- Zaloguj się na serwer przez FTP i przejdź do katalogu wp-content/themes.
- Zmień nazwę folderu aktywnego motywu (np. nazwamotywu na nazwamotywu_old).
- WordPress automatycznie przełączy się na jeden z domyślnych motywów (np. Twenty Twenty-One).
- Sprawdź, czy strona działa:
- Jeśli tak, problem leży w motywie. W takim przypadku spróbuj zaktualizować motyw lub skontaktuj się z jego twórcami.
5. Sprawdzenie limitu wykonywania skryptów
W niektórych przypadkach „White Screen of Death” może być wynikiem przekroczenia czasu wykonywania skryptu PHP. Aby rozwiązać ten problem, możesz zwiększyć maksymalny czas wykonywania skryptów na serwerze.
Jak zwiększyć limit wykonywania skryptów PHP?
- Edytuj plik php.ini (jeśli masz dostęp):
- Znajdź plik php.ini i dodaj lub edytuj następujące linie:
plaintext max_execution_time = 300
- Edytuj plik .htaccess (jeśli nie masz dostępu do php.ini):
- Dodaj poniższy kod do pliku .htaccess:
plaintext php_value max_execution_time 300
6. Sprawdzenie logów serwera
Jeśli problem nadal występuje, warto sprawdzić logi błędów serwera, aby zobaczyć, jakie dokładnie błędy powodują „White Screen of Death”.
Jak sprawdzić logi serwera?
- Zaloguj się do panelu hostingowego (np. cPanel, Plesk) i przejdź do sekcji logów serwera, np. Error Logs.
- Sprawdź najnowsze wpisy, które mogą dostarczyć więcej informacji na temat tego, co powoduje problem.
7. Przywracanie kopii zapasowej
Jeśli problem pojawił się po aktualizacji motywu, wtyczki lub WordPressa, i nie możesz go naprawić za pomocą powyższych metod, przywrócenie wcześniejszej kopii zapasowej witryny może być najlepszym rozwiązaniem.
Jak przywrócić kopię zapasową?
- Zaloguj się do panelu hostingowego i znajdź sekcję kopii zapasowych (np. Backup Manager).
- Wybierz kopię zapasową, która została wykonana przed wystąpieniem problemu.
- Przywróć witrynę i sprawdź, czy błąd zniknął.
8. Kontakt z dostawcą hostingu
Jeśli żadna z powyższych metod nie działa, problem może wynikać z problemów z serwerem. Skontaktowanie się z dostawcą hostingu może pomóc w zidentyfikowaniu problemu na poziomie serwera.
Co zapytać dostawcę hostingu?
- Czy serwer działa prawidłowo?
- Czy są jakieś ograniczenia dotyczące pamięci PHP lub czasu wykonywania skryptów?
- Czy są dostępne logi błędów, które mogą wskazywać na problem?
Podsumowanie
Błąd „White Screen of Death” w WordPressie może być spowodowany przez różne czynniki, takie jak wyczerpanie limitu pamięci PHP, problematyczne wtyczki lub motywy, a
także błędy PHP. Aby naprawić ten błąd, zacznij od włączenia trybu debugowania, zwiększenia limitu pamięci PHP i wyłączenia wszystkich wtyczek. Jeśli to nie pomoże, przełącz motyw na domyślny, sprawdź logi serwera i ewentualnie przywróć kopię zapasową. W razie potrzeby skontaktuj się z dostawcą hostingu, aby uzyskać pomoc w zidentyfikowaniu problemu.