Zdarza się, że pomimo najszczerszych chęci, mimo wybierania jedynie najlepszych i tylko sprawdzonych wtyczek, które i tak ograniczamy do niezbędnego minimum, oraz dokładnie przetestowanego wcześniej motywu, to i tak czasem z jakiegoś powodu rodzi się problem, który całkowicie paraliżuje naszą witrynę WordPress. Czy WordPress rzeczywiście jest tak stabilny i wolny od błędów jak zarzekają się autorzy?

Biała strona w WordPress

Czy zdarzyło ci się kiedyś, że po wejściu na swoją stronę w WordPress, jedyne co zobaczyłeś, to biały ekran? Co oznacza biała strona i jak ją naprawić?

Biała strona oznacza, że w naszej instalacji WordPress pojawił się błąd (w kodzie). Po jego wykryciu, dalsze wykonywanie skryptu jest natychmiast przerywane, a sama biała strona jest wynikiem wyłączenia wyświetlania błędów w konfiguracji interpretera kodu PHP.

Oczywiście błędy nie rodzą się same z siebie, tylko powstają np. podczas edycji plików przez niedoświadczoną (lub złośliwą) osobę. Błędy mogą pojawić się na naszej stronie po aktualizacji jakiegoś dodatku, motywu, lub mogą być spowodowane konfliktem pomiędzy nimi. Mogą też być zwyczajnym niedopatrzeniem ze strony autora, spowodowanym nieprzewidzianym zachowaniem dodatku w pewnych okolicznościach, np. w odpowiedzi na wprowadzone przez użytkownika dane, które są niezgodne z oczekiwanymi.

Uwaga! Wszystkie sposoby starałem się opisać szczegółowo i najprościej jak potrafię, ale przestrzegam przed ich nieumiejętnym wykorzystaniem, ponieważ istnieje realne ryzyko uszkodzenia instalacji WordPress-a. Zanim zaczniesz cokolwiek robić, wykonaj kopię zapasową bazy danych i wszystkich plików – nawet jeżeli jedyne co teraz widzisz to biały ekran. Jeżeli czegoś nie wiesz lub nie jesteś pewien pytaj w komentarzach.

 

Identyfikacja dodatku sprawiającego problemy

Aby naprawić białą stronę konieczne będzie znalezienie winowajcy. Nie ma tutaj zbyt wielu opcji i będzie to albo szablon, albo któraś z zainstalowanych wtyczek (zakładając że nie mieszaliśmy w plikach WordPressa i wszystkie pliki są na swoich miejscach).

Oczywiście to, że nie działa strona główna nie oznacza, że nie będzie działać panel administracyjny WordPress. Warto to sprawdzić na samym początku. Jeżeli jesteśmy w stanie zalogować się do kokpitu, to w zasadzie najłatwiejszą metodą, która pozwoli nam namierzyć przyczynę problemu będzie kolejne wyłączanie dodatków do momentu, w którym strona zacznie działać. Proponuję zacząć od tych ostatnio zaktualizowanych, oraz tych które sami ostatnio modyfikowaliśmy. W tym działaniu należy uwzględnić także sam motyw i tymczasowo włączyć jeden z motywów domyślnych.

Jeżeli po wyłączeniu wszystkich dodatków strona w dalszym ciągu nie daje znaku życia, to oznacza, że problem tkwi „głębiej”.

Jeżeli nie możemy zalogować się do kokpitu WordPress, lub poprzednia wskazówka nie zadziałała

Jeżeli nie jesteśmy w stanie zalogować się do kokpitu WordPress, powyższe czynności nadal jesteśmy w stanie wykonać korzystając z klienta FTP (o tym w dalszej części artykułu). Na tym etapie, aby nie robić na stronie zbyt dużego bałaganu, łatwiej będzie spróbować wyświetlić błąd. W większości przypadków sama treść błędu wystarczy aby określić wadliwą wtyczkę i albo będziemy musieli ją zastąpić, albo poprosić jej autora o aktualizację.

Jak wspominałem wcześniej biała strona jest następstwem konfiguracji PHP, w rezultacie wyświetlanie błędów jest wyłączone, a my otrzymujemy tylko pustą, białą stronę. Na szczęście możliwe jest skonfigurowanie WordPressa tak, aby wyświetlał błędy.

O tym jak skonfigurować WordPress, aby wyświetlał błędy, i/lub logował je do pliku opisałem w ostatnim wpisie.

Uzyskując takie informacje jak kod i treść błędu niemal zawsze możemy być pewni, że jego rozwiązanie znajduje się już w Google, a jeśli nie do końca trafiamy z odpowiedziami, to publikując komunikat na forum WordPress, ktoś będzie w stanie udzielić nam wskazówek jak stronę naprawić.

 

Dezaktywacja pluginów przy pomocy klienta FTP

Jeżeli nie jesteśmy w stanie zalogować się do kokpitu WordPress, komunikat błędu niestety nie wiele nam mówi, a chcemy szybko postawić stronę, to możemy spróbować sztuczki, która dezaktywuje wszystkie pluginy zainstalowane w WordPress.

W tej wskazówce potrzebny będzie dostęp do klienta FTP. Aby dezaktywować wszystkie pluginy wystarczy przejść do katalogu /wp-content/ a następnie zmienić nazwę folderu plugins na inną, najlepiej poprzez dodanie jakiegoś prostego przedrostka, np.: _plugins.

Jeżeli strona działa, logujemy się do kokpitu i przechodzimy do wtyczek. Powinniśmy zobaczyć serię komunikatów o wyłączonych wtyczkach. Teraz możemy zmienić nazwę katalogu wtyczek na starą i zacząć kolejno aktywować pluginy, aby określić ten problematyczny.

W podobny sposób możemy także wyłączać pojedyncze wtyczki – wystarczy że zmienimy nazwę jej katalogu. Załóżmy, że chcemy wyłączyć plugin Akismet, dodajemy więc do nazwy jego katalogu jakiś dowolny przedrostek np.: _akismet. Teraz po przejściu do sekcji pluginów w kokpicie okaże się, że plugin został dezaktywowany.

Dezaktywacja pluginów przy pomocy phpMyAdmin

Jeszcze jednym sposobem na wyłączenie pojedynczych wtyczek w WordPress jest skorzystanie z narzędzia do zarządzania bazą danych – phpMyAdmin. Ten sposób jest nieco trudniejszy, szczególnie ze względu na samo uzyskanie dostępu do tego narzędzia. Należy także mieć na uwadze, że nieumiejętna edycja bazy danych może doprowadzić do jej uszkodzenia i w rezultacie konieczności przywrócenia kopii zapasowej. Jeżeli nie wiesz gdzie znaleźć phpMyAdmin, lub nie wiesz jak się nim posługiwać, to po prostu skorzystaj z wcześniejszej wskazówki.

Będąc zalogowanym do phpMyAdmin, kolejno wybieramy naszą bazę danych, następnie tabelę wp_options (przedrostek może się różnić), i szukamy rekordu, którego wartość w kolumnie option_name to active_plugins. Zwykle jest to coś około 30 pozycji. Albo korzystamy z prostego zapytania SQL aby je odszukać:

SELECT * FROM `wp_options` WHERE option_name = 'active_plugins';

Aby je wykonać przechodzimy do zakładki SQL, wklejamy powyższą kwerendę i klikamy poniżej przycisk Wykonaj. W wyniku powinniśmy otrzymać jeden, poszukiwany przez nas rekord. Z opcji po lewej stronie rekordu wybieramy polecenie Edytuj.

Pierwsze co robimy to kopiujemy całą zawartość pola option_value do jakiegoś pliku tekstowego,  gdyż nią się będziemy teraz zajmować.

a:6:{
i:1;s:41:"better-wp-security/better-wp-security.php";
i:2;s:9:"hello.php";
i:3;s:23:"musli-css/musli-css.php";
i:4;s:24:"wordpress-seo/wp-seo.php";
i:5;s:23:"wp-smushit/wp-smush.php";
i:6;s:27:"wp-super-cache/wp-cache.php";
}

Dla uproszczenia nieco sformatowałem wartość tego pola, ale w żadnym wypadku nie wolno tego robić, no chyba, że chcemy dezaktywować wszystkie nasze pluginy. 🙂 Więc można to zrobić w ten sposób, albo wszystko usuwając.

Jak wyłączać pluginy pojedynczo? Jeżeli dokładnie przyjrzymy się danemu ciągowi, to zauważymy, że w pierwszej linijce mamy wartość równą ilości linijek znajdujących się pomiędzy klamerkami – czyli ilość aktywnych pluginów w kokpicie. Jeżeli zmienimy tylko tą wartość, to znowu wszystkie pluginy zostaną wyłączone.

Aby prawidłowo wyłączyć jeden plugin z poziomu bazy danych należy usunąć linijkę dotyczącą wybranego pluginu do wyłączenia, a następnie w pierwszej linijce wpisać liczbę pozostałych wpisów znajdujących się pomiędzy klamerkami. Przykładowo, jeżeli skasujemy 4-ty plugin (i:4), czyli wpis dotyczący WP SEO, a następnie w pierwszej linijce wpiszemy liczbę 5, to plugin WP SEO zostanie prawidłowo wyłączony w kokpicie WordPress.

a:5:{
i:1;s:41:"better-wp-security/better-wp-security.php";
i:2;s:9:"hello.php";
i:3;s:23:"musli-css/musli-css.php";
i:5;s:23:"wp-smushit/wp-smush.php";
i:6;s:27:"wp-super-cache/wp-cache.php";
}

Należy pamiętać że dezaktywacja pluginu nie usunie jego plików z serwera, ani nie skasuje jego opcji z bazy danych.

To tyle w kwestii wyłączania pluginów.

Dezaktywacja motywu przy pomocy klienta FTP

W przypadku motywów sprawa jest podobna – przechodzimy do katalogu /wp-content/themes i zmieniamy nazwę aktywnego motywu. Oczywiście sama zmiana nazwy katalogu, lub jego skasowanie nic nam nie da dopóki nie zalogujemy się do kokpitu i nie przejdziemy do zakładki Wygląd. Jeżeli to zrobiliśmy i w katalogu themes mamy jeden z domyślnych motywów, to WordPress półautomatycznie ustawi nam go jako nowy motyw domyślny.

Podsumowanie

I to w zasadzie wszystko czym chciałem się podzielić w tym krótkim wpisie. Jeżeli o czymś sobie jeszcze przypomnę, albo znajdę coś ciekawego to artykuł zostanie uzupełniony.

Wpis otagowano:

Komentarze do wpisu 15 komentarzy

Pomogłem? Dodaj coś od siebie! Skomentuj ten wpis:

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *