LH.pl · Dział pomocy
Wykonałeś aktualizację strony lub zainstalowałeś nową wtyczkę i nagle wyświetla się tylko biały ekran śmierci w WordPressie? Nie możesz nawet zalogować się do panelu administracyjnego? Zobacz, jak naprawić ten błąd.
Biały ekran śmierci WordPress – to coś, z czym wielu użytkowników ma problem. Wpisujesz adres swojej strony w przeglądarce, a tu nagle wyświetla się tylko białe tło. Oznacza to problemy z wczytywaniem strony, które wynikają np. z motywu, wtyczek czy braku pamięci na serwerze.
Biały ekran witryny WordPress tzw. ekran śmierci irytuje nie mniej niż jego niebieski odpowiednik w Windowsie. W przypadku WordPressa może nas jednak narazić na poważne straty (np. brak zamówień w sklepie internetowym WooCommerce). Na szczęście problem ten da się stosunkowo łatwo wyeliminować.
Czym jest biały ekran śmierci w WordPressie?
Biały ekran WordPress domyślnie nie wyświetla żadnych konkretnych błędów czy rejestru zdarzeń. Utrudnia to znalezienie przyczyny problemu. Biały ekran może pojawić się bezpośrednio na stronie lub tylko w panelu administracyjnym. Może też pojawić się w obu tych miejscach jednocześnie, co dodatkowo utrudnia sprawę.
Błąd ten najczęściej pojawia się po aktualizacji WordPressa lub po zainstalowaniu nowej wtyczki. Wynika on z braku kompatybilności między zainstalowanymi komponentami. Przykładowo, biały ekran może pojawić się po zainstalowaniu nowej wtyczki, która wchodzi w konflikt z innymi, które już mamy na stronie.
To samo może się zdarzyć, gdy zaktualizujemy WordPressa ze starszym szablonem. Szablon może odwoływać się do funkcji, które już nie istnieją, przez co staje się on niekompatybilny z WordPressem w nowej wersji lub z konkretnymi wtyczkami. Czasem taki niezaktualizowany szablon przestanie działać tylko częściowo, a czasem może spowodować wyświetlanie białego ekranu śmierci i strona WordPress nie będzie widoczna.
Jak naprawić biały ekran śmierci w WordPressie
Jak naprawić biały ekran w WordPress? Naprawienie białego ekranu śmierci w WordPressie może być frustrujące, ale istnieje kilka kroków, które można podjąć, aby rozwiązać ten problem. Po pierwsze, sprawdź plik error_log w głównym katalogu WordPressa, aby znaleźć informacje o błędach, które mogą być powodem białego ekranu. Następnie wyłącz wszystkie wtyczki, korzystając z pliku FTP lub panelu kontrolnego hostingu, aby sprawdzić, czy któryś z nich powoduje problem. Jeśli biały ekran nadal się pojawia, zmień motyw na domyślny i sprawdź, czy to rozwiąże problem. Jeśli tak, oznacza to, że problem leży w motywie, który używałeś wcześniej. Możesz również spróbować zwiększyć pamięć PHP, dodając kod define(’WP_MEMORY_LIMIT’, ’64M’); do pliku wp-config.php. Jeśli żaden z tych kroków nie działa, skontaktuj się z dostawcą hostingu, ponieważ problem może leżeć po ich stronie. Pamietaj o zrobieniu kopii zapasowej strony przed dokonaniem zmian. Poniżej szczegółowo omówimy to, co możesz zrobić, aby naprawić biały ekran śmierci w WordPressie.
1. Przydziel więcej pamięci dla WordPressa – limit pamięci ma znaczenie!
Pierwszym źródłem problemów może być to, że WordPress po zainstalowaniu dodatkowej wtyczki, nowego motywu lub po wykonaniu aktualizacji zwiększył swój apetyt na pamięć. Jeśli WordPress przekracza dostępny limit pamięci, to skutkuje to wyświetleniem białej strony.
Co prawda w takiej sytuacji zazwyczaj oprócz białej strony pokazuje się krótki komunikat o tym, że WordPress przekroczył limit pamięci, jednak może się zdarzyć, że nawet i to się nie pojawi. Zanim przejdziemy do innych metod naprawczych, warto spróbować przydzielić WordPressowi nieco więcej pamięci.
Aby to zrobić, należy w pliku wp-config.php dodać jedną linijkę tuż pod znacznikiem „<?php”, która spowoduje przydzielenie większej pamięci WordPressowi. W tym celu należy skopiować ten plik z serwera klienta FTP na dysk, edytować go np. w programie Notepad++ i dopisać poniższą linię:
Kod:
define(‘WP_MEMORY_LIMIT’, ‘128M’);
Powyższa linia zwiększy limit pamięci WordPressa do 128MB. Oczywiście możemy wpisać i aktywować więcej np. 256M. Więcej informacji znajdziesz na ten temat w naszym oddzielnym artykule odnośnie zwiększenia limitu pamięci dla WordPressa (w pierwszym punkcie opisaliśmy, jak zwiększyć limit pamięci, gdy wyświetla się biały ekran).
2. Wyłącz wszystkie wtyczki przez FTP
Powyższa linia zwiększy limit pamięci WordPressa do 128MB. Oczywiście możemy wpisać i aktywować więcej np. 256M. Więcej informacji znajdziesz na ten temat w naszym oddzielnym artykule odnośnie zwiększenia limitu pamięci dla WordPressa (w pierwszym punkcie opisaliśmy, jak zwiększyć limit pamięci, gdy wyświetla się biały ekran).
- Wyłączanie wszystkich wtyczek przez FTP
Zaloguj się na serwer FTP i wejdź do katalogu z WordPressem. Następnie otwórz folder „wp-content”. Znajdziesz tu podkatalog o nazwie „plugins”. To w nim zawarte są wszystkie wtyczki zainstalowane na stronie.
Kliknij teraz prawym przyciskiem myszy na folderze „plugins” i wybierz opcję „Zmień nazwę”. Musisz zmienić nazwę folderu „plugins” na jakąkolwiek inną. W ten sposób WordPress nie wykryje go (oraz zainstalowanych w nim wtyczek) i uruchomi się bez dodatków. Możesz np. nazwać ten folder „XpluginsX”.
Po zmianie nazwy folderu spróbuj wejść na stronę lub do panelu administracyjnego. Jeśli strona internetowa teraz działa, to znaczy, że powodem problemów jest któraś z wtyczek (jedna lub więcej). Musisz w takiej sytuacji namierzyć szkodliwą wtyczkę (patrz niżej) i ją trwale wyłączyć, ręcznie zaktualizować lub zastąpić inną. Jeśli jednak strona nie działa nawet ze wszystkimi wtyczkami wyłączonymi, to znaczy, że problemem może być motyw, co opisaliśmy w kolejnym punkcie.
- Namierzanie szkodliwej wtyczki
Jeśli po wyłączeniu wtyczek strona zaczęła działać, to pora namierzyć tą konkretną, która powoduje problemy. W tym celu ponownie wejdź na serwer FTP i przywróć oryginalną nazwę folderu z wtyczkami (plugins), tak, aby WordPress mógł je odczytać i załadować. Oczywiście strona znowu przestanie działać do momentu aż znajdziemy tą konkretną wtyczkę, która powoduje błąd
Na serwerze FTP wejdź do folderu „plugins”. Znajdziesz tu listę podkatalogów, z których każdy odpowiada za konkretną wtyczkę zainstalowaną w WordPressie.
Musisz teraz po kolei wyłączać wtyczki, zmieniając im nazwę folderu na inną. Najpierw wyłącz pierwszą wtyczkę, zmieniając jej nazwę na inną (np. dopisując “X “na początku i końcu nazwy folderu). Sprawdź stronę – jeśli działa, to znaczy, że wtyczka, której nazwę przed chwilą zmieniłeś była powodem błędów. Jeśli strona nadal nie działa, to przejdź do wyłączenia kolejnej wtyczki i znów sprawdź stronę.
Powtarzaj to tak długo, aż w końcu po wyłączeniu którejś z wtyczek strona zacznie działać. W ten sposób namierzysz tę wtyczkę, która powoduje błąd. Możesz wtedy przywrócić oryginalne nazwy wszystkim innym wtyczkom, które wyłączyłeś i usunąć tylko tą jedną, która powoduje problem (aby ją usunąć wystarczy z folderu plugins wykasować katalog z nią odpowiedzialny).
Jeśli usuwając wtyczkę stracisz ważną dla Ciebie funkcjonalność strony, to możesz spróbować zainstalować wtyczkę ponownie, pobierając jej najnowszą wersję. Możesz też poszukać alternatywnej wtyczki o podobnym działaniu lub skontaktować się z twórcą i zgłosić problem z działaniem dodatku w najnowszej wersji WordPressa.
3. Wyłącz swój motyw przez FTP
Jeśli rozwiązanie z wyłączeniem wtyczek nie pomogło, to znaczy, że nie są one źródłem problemów. Jest jednak jeszcze jedna rzecz, która może powodować biały ekran śmierci – twój motyw WordPress, czyli szablon strony.
Motywy do WordPressa, zwłaszcza te darmowe, bardzo często mają ograniczony okres wsparcia. Oznacza to, że motyw pozostawiony bez aktualizacji na długi okres czasu może pewnego dnia przestać działać z najnowszą wersją WordPressa. Efektem braku kompatybilności może być właśnie komunikat o błędzie w postaci białego ekranu śmierci.
Aby sprawdzić, czy to motyw jest źródłem problemów, przejdź na serwer FTP i wejdź do katalogu „wp-content/themes”. Znajdziesz tu listę folderów. Każdy z nich odpowiada za inny motyw..
Domyślne motywy WordPressa to:
- Twentythirteen
- Twentyfourteen
- Twentyfifteen
- Twentysixteen
Tych folderów nie ruszaj. Oprócz nich powinieneś jednak znaleźć tu folder ze swoim własnym motywem, którego używasz na stronie. Aby go tymczasowo dezaktywować, możesz użyć tej samej metody, co wcześniej przy wtyczkach. Wystarczy zmienić mu nazwę na inną, a WordPress go nie wykryje i automatycznie włączy najnowszy, domyślny motyw, który zawsze działa (lub po prostu wyświetli błąd o braku motywu i zezwoli Ci na wejście do panelu administracyjnego, gdzie możesz uaktywnić inny motyw).
W tym celu kliknij prawym przyciskiem myszy na folderze ze swoim motywem i wybierz „Zmień nazwę”. Podobnie jak z wtyczkami, tu również możesz zmienić nazwę np. poprzez dodanie “X” na początku i końcu nazwy folderu
Otwórz przeglądarkę i spróbuj wejść na swoją stronę lub do panelu administracyjnego. Jeśli strona lub panel administratora się włączy, to znaczy, że źródłem problemu jest twój motyw. Dla wielu może oznaczać to spore problemy.
Motyw zdecydowanie trudniej zastąpić niż np. pojedynczą wtyczkę do formularza kontaktowego. W takiej sytuacji możesz przede wszystkim udać się na oficjalną stronę motywu i sprawdzić, czy jest dostępna nowa wersja. Jeśli tak, to pobierz ją, a następnie zainstaluj motyw ręcznie, kopiując jego pliki na serwer FTP do folderu „wp-content/themes”, nadpisując nimi pliki swojego oryginalnego motywu (zalecamy jednak wcześniejsze wykonanie kopii zapasowej swojego oryginalnego motywu na wszelki wypadek).
Jeśli jednak okaże się, że twój motyw jest niekompatybilny z najnowszą wersją WordPressa, to pozostaje Ci zmiana motywu lub czekanie na pojawienie się oficjalnej aktualizacji.
4. Włącz i sprawdź zapis błędów
Jeśli ani wtyczki, ani motyw, ani też limit pamięci nie są źródłem problemów, to biały ekran śmierci może być powodowany przez coś bardziej indywidualnego. W takiej sytuacji możesz sprawdzić zapis błędów.
Jak wspomniałem na samym początku, biały ekran śmierci jest trudny do zdiagnozowania, gdyż nie wyświetla żadnych komunikatów. Nie oznacza jednak, że takie komunikaty nie są rejestrowane. Możesz włączyć zapisywanie historii błędów w pliku debug.log na serwerze FTP, dzięki czemu znajdziesz dokładne treści błędów, które uniemożliwiają włączenie się twojej strony.
Aby włączyć zapis błędów, należy zalogować się na serwer FTP i skopiować na dysk plik wp-config.php. Następnie otwórz go w dowolnym edytorze (najlepiej Notepad++) i pod znacznikiem „<?php” dopisz poniższe linie:
define(‘WP_DEBUG’, true); define(‘WP_DEBUG_LOG’, true); define(‘WP_DEBUG_DISPLAY’, false);
Pierwsza linia włącza tryb debugowania, czyli zapisywania wszelkich komunikatów i błędów. Druga linia zapisuje wszystkie te komunikaty do pliku debug.log w głównym folderze WordPressa. Trzecia linia z kolei odpowiada za wyświetlanie tych błędów bezpośrednio na stronie – w tym wypadku wyłącza tę funkcję, aby nie odstraszała odwiedzających. Jeśli jednak chcesz, to możesz zmienić jej wartość z „false” na „true” i wtedy zobaczysz wszystkie błędy na białym tle strony
Zapisz plik wp-config.php i prześlij go na serwer, nadpisując oryginalny plik. Następnie otwórz swoją stronę, tak, aby wyświetlił się biały ekran. Teraz na twoim serwerze zostanie wygenerowany plik debug.log, który zawiera listę błędów. Skopiuj go na dysk komputera i otwórz – znajdziesz tu wszystkie komunikaty i błędy, które możesz przeanalizować lub przesłać komuś, kto jest skłonny udzielić Ci indywidualnej pomocy. Na podstawie tego zapisu będzie możliwe znalezienie przyczyny białego ekranu śmierci.
Podobał Ci się artykuł? Zostaw opinię!
7 komentarzy
Możliwość komentowania została wyłączona.
Dzięki, przydało się
Wszystko super, ale co zrobić z błędami co pojawią się w wp-debug? Czy jest jakiś artykuł i sposób pomagający naprawić kod gdy występuje np. błąd Trying to get property 'post_type’ of non-object w katalogu wp/includes.post.php w linijce x? Czy trzeba skorzystać z pomocy webmastera? Przydałby się jakiś proadnik pracy z kodem php. Pozdrawiam
Dzięki, u mnie powodem był Elementor Pro. Wyłączałam po kolei wszystkie wtyczki i jakże się zdziwiłam 🙂 Dziękuję za rady, w moim przypadku bardzo pomogły 🙂
U mnie dziś lepiej na jednej www i tylko w Firefox biały ekran nawet na IE8 działa, już sam nie mam pomysłu
Stara sprawa, ale może ktoś pomoże 😉
Ogólnie wypróbowałem wszystkie sprawy powyżej i nadal mam white page of death na podstronach gdzie mam możliwość napisania nowego artykułu lub strony, z racji tego, że tworzę strony swoje, na subdomenah zauważyłem, że mam od niedawna problem tylko na KOLEJNEJ stronie opartej na WORDPRESS, którą mam postawioną na subdomenie.
w związku z tym pytanie – może to by przyczyną, że mam na subdomenie kolejnego wordpressa?
pomoże ktoś? 🙂
Witam mi pomogla ponowna instalacja najnowszej wersji wordpressa z kokpitu.