Wyświetlanie błędów w WordPress może nie należy do najciekawszych tematów, ale na pewno niektórym początkującym użytkownikom WordPress pare przemyśleń na ten temat może się przydać. 🙂 Jak wiadomo, na pewno nie wszystkim, aktualizacje są sprawą kluczową w kwestiach bezpieczeństwa. Stale rozwijane są komponenty z których korzysta WordPress (serwer http, interpreter PHP, baza danych) i podobnie sam WordPress korzysta z coraz to nowszych rozwiązań. Przez to niektóre stare funkcje odchodzą do lamusa, a wiele starych, już nie aktualizowanych dodatków, które z nich korzystały nagle zaczynają sypać błędami, a nawet paraliżują całą stronę – wyświetlając nam biały ekran śmierci WordPress.

I tutaj wkracza wiedza z zakresu, jak ten błąd wyświetlić. 🙂 Nawet jeśli sami nie będziemy w stanie sobie z tym poradzić, to uzyskaną informację o  błędzie będziemy mogli przedstawić znawcom PHP/WordPress na przykład na forum społeczności WordPress.

Włączamy wyświetlanie błędów w WordPress

Aby wyświetlić błąd PHP w WordPress, potrzebny jest nam dostęp do plików strony, w tym celu korzystamy z ulubionego klienta FTP (np. FileZilla lub WinSCP).

Po nawiązaniu połączenia edytujemy plik wp-config.php, znajdujący się w katalogu głównym instalacji WordPress. W otwartym pliku musimy odszukać następującą sekcję, która sama w sobie dostarcza nam kilku istotnych informacji:

/**
 * Dla programistów: tryb debugowania WordPressa.
 *
 * Zmień wartość tej stałej na true, aby włączyć wyświetlanie
 * ostrzeżeń podczas modyfikowania kodu WordPressa.
 * Wielce zalecane jest, aby twórcy wtyczek oraz motywów używali
 * WP_DEBUG podczas pracy nad nimi.
 *
 * Aby uzyskać informacje o innych stałych, które mogą zostać użyte
 * do debugowania, przejdź na stronę Kodeksu WordPressa.
 *
 * @link https://codex.wordpress.org/Debugging_in_WordPress
 */
define('WP_DEBUG', false);

W ostatniej linijce definiującej stałą WP_DEBUG, zmieniamy jej argument z wartości false na true, aby ją „włączyć”:

define('WP_DEBUG', true);

Po zapisaniu pliku na serwerze. Wyświetlanie błędów powinno zostać włączone, a po odświeżeniu białego ekranu śmierci, treść błędu powinna zostać wyświetlona. Treść i kod błędu powinien pomóc nam zidentyfikować problem, oraz namierzyć powodujący je dodatek. Jeżeli nie jesteśmy w stanie sami poradzić sobie z problemem, treść błędu przyda nam się w opisaniu problemu na przykład na forum społeczności WordPress.

 

Zapisywanie błędów WordPress w pliku

WordPress posiada jeszcze kilka stałych towarzyszących wspomnianej już opcji WP_DEBUG. Jeżeli chcemy sprawdzić czy nasza strona działa prawidłowo i jest wolna od błędów możliwe jest włączenie logowania błędów do pliku tekstowego. Po aktywacji w katalogu /wp-content/ pojawi się nowy plik debug.log.

Po określonym czasie możemy wrócić do tego pliku i sprawdzić, czy przez ten czas użytkownicy podczas korzystania ze strony, nie natknęli się na jakieś błędy.

Aby włączyć w WordPress opcję logowania błędów do pliku musimy sami dopisać następującą linijkę w pliku wp-config.php, najlepiej bezpośrednio poniżej opcji WP_DEBUG:

define('WP_DEBUG_LOG', true);

Warto dodać, że opcja WP_DEBUG_LOG działa zależnie od WP_DEBUG i aby cokolwiek było zapisywane w pliku musi ona być ustawiona na true.

Powstaje problem, bo być może nie chcemy aby WordPress sypał błędami naszym użytkownikom, ale chcemy wiedzieć czy jest coś co możemy poprawić na stronie. Rozwiązaniem jest skorzystanie ze stałej WP_DEBUG_DISPLAY.

define('WP_DEBUG_DISPLAY', false);

Włączona opcja czyli true spowoduje wyświetlanie błędów przez WP_DEBUG, ustawiona na false nie będzie wyświetlała błędów na ekranie, ale pozwoli na ich logowanie do pliku przez WP_DEBUG_LOG.

Przykładowa poniższa konfiguracja nie będzie wyświetlać błędów na ekranie, ale będzie je logować do pliku (z kodeksu WordPress):

// Enable WP_DEBUG mode
define( 'WP_DEBUG', true );

// Enable Debug logging to the /wp-content/debug.log file
define( 'WP_DEBUG_LOG', true );

// Disable display of errors and warnings 
define( 'WP_DEBUG_DISPLAY', false );
@ini_set( 'display_errors', 0 );

Na koniec należy pamiętać, aby nie zostawiać opisanych wyżej opcji włączonych na nieokreślony okres czasu. Treści błędów mogą udostępniać informacje o konfiguracji naszego serwera, oraz prowadzić do wskazania używanych przez nas „dziurawych” pluginów, które mogą stać się luką w bezpieczeństwie naszej strony i w efekcie doprowadzić do przykrych konsekwencji.

Wpis otagowano:

Komentarze do wpisu 5 komentarzy

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

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