Czym jest i jak działa tryb debugowania w WordPress? Kiedy i do czego go używać? Jak włączyć i wyłączyć tryb debugowania i zapisywanie logów?
Spis treściNa czym polega tryb debugowania WordPress? To wyjątkowo przydatna opcja, z której często korzystają twórcy stron internetowych. Warto wiedzieć, jak ją uruchomić i w jaki sposób działa. Dzięki temu będziesz mieć pod kontrolą wszystkie błędy PHP, które zostaną wykryte w kodzie.
Debugowanie WordPressa to dość standardowe działanie. Osoby zarządzające własnymi miejscami w sieci powinny przeprowadzać ją regularnie. To pozwala na diagnozowanie i usuwanie błędów, zanim przerodzą się w znacznie poważniejsze problemy. Nie ulega jednak wątpliwości, że jest to też nieco bardziej zaawansowana procedura. Osobom, które nigdy wcześniej tego nie robiły, może przydać się szczegółowa instrukcja.
Strona WordPress bazuje na języku PHP. Nawet niewielki błąd w jego kodzie może natomiast spowodować, że Twoje miejsce w sieci nie będzie wyświetlać się poprawnie. Debugowanie kodu może Ci pomóc w usunięciu tego problemu, zanim zauważą go użytkownicy. Problem jednak w tym, że tryb WP Debug domyślnie jest wyłączony. Musisz włączyć go własnoręcznie, a po zakończeniu działań również wyłączyć, w trosce o bezpieczeństwo.
Czym jest debugowanie?
Analizę trybu debugowania WordPress rozpocznijmy od wyjaśnienia, czym w zasadzie jest samo „debugowanie”. To określenie składające się z dwóch części: „de” i „bug”. „Bugami” potocznie określane są błędy w kodzie. Debugowanie rozumieć można zatem jako wychwytywanie błędów, ich naprawę i przepisywanie do poprawnej wersji. „Debugger” jest z kolei specjalistycznym narzędziem służącym do wykrywania i usuwania problemów w kodzie.
Tryb debugowania WordPress – co to jest?
Tryb debugowania WordPress polega na „wyłapywaniu” błędów w kodzie strony publikowanej na najpopularniejszym CMS-ie świata. Uruchomienie takiego działania WP może polegać zarówno na zapisywaniu, jak i wyświetlaniu wszystkich błędów. Wszystko zależy od Twoich potrzeb. Jeśli chcesz, możesz uruchomić tylko jedną z tych opcji lub obie na raz.
Jest to rozwiązanie dla osób doświadczonych w kodowaniu i tworzeniu stron za pomocą języka PHP. Wskazuje on bowiem błędy w skrypcie, które ekspert może samodzielnie szybko znaleźć i usunąć lub poprawić. Tego rodzaju „przegląd” witryny należy wykonywać regularnie, optymalizując jej działanie. Wskazane jest ponadto skorzystanie z trybu debugowania WordPress po każdorazowym wprowadzaniu jakichkolwiek zmian w kodzie. Dzięki temu sprawdzisz, czy działają poprawnie i nie ma z nimi żadnego problemu.
Do czego można używać trybu debugowania WordPress?
Tryb debugowania WordPress dotyczy wyłącznie stron opartych na WP. Wykorzystywany jest więc przede wszystkim do sprawdzania, czy w kodzie witryny nie znalazły się:
- fragmenty z błędną składnią,
- pominięcia średników,
- nieprawidłowe polecenia,
- próby wywołania niewłaściwej zmiennej.
Pamiętaj, że strony na WP nie składają się jednak tylko z PHP. To CMS wykorzystujący różne komponenty, np.:
- HTML i CSS we frontendzie,
- PHP i bazy danych w backendzie,
- aplikacje od twórców wewnetrznych w pluginach.
Samodzielne zlokalizowanie przyczyny błędu pojawiającego się w witrynie jest przez to prawdziwym wyzwaniem. WP debugging umożliwia przeglądanie i rejestrowanie błędów, wraz z ich szczegółowym opisem. W ten sposób możliwe jest błyskawiczna lokalizacja problemu na serwerze i przystąpienie do jego usunięcia.
Jak włączyć tryb debugowania WordPress?
Uruchomienie trybu debugowania wymaga wprowadzenia zmian w pliku wp-config.php. Najpierw więc lepiej wykonaj jego kopię zapasową (Jak zrobić kopię zapasową (backup) WordPressa? 5 sposobów). To pozwoli Ci na przywrócenie strony do punktu wyjścia nawet wtedy, gdy podczas wprowadzania zmian coś pójdzie nie tak.
Edycja pliku wp config.php
Jeśli kopia zapasowa jest już gotowa, czas włączyć debugowanie. Aby to zrobić, musisz otworzyć wcześniej wspominany plik wp-config.php. Możesz zrobić to na dwa sposoby:
- z poziomu panelu administratora, udostępnianego przez firmę udostępniającą Ci hosting;
- dostając się na serwer za pomocą klienta FTP/SFTP/FTPs (np. programu Filezilla czy WinSCP) i pobierając plik na dysk swojego kopputera.
WP-config.php powinien znajdować się w folderze głównym WordPress. Otwórz go i przejdź do jego edycji za pomocą edytora tekstowego (np. notatnika). Zaraz po linijce:
<?php
musisz dodać poniższy fragment kodu:
define('WP_DEBUG',true);
define('WP_DEBUG_DISPLAY',true);
define('WP_DEBUG_LOG',true);
Wyjaśnijmy, co znaczą jego poszczególne elementy składowe:
- define(’WP_DEBUG’,true); – pozwala na włączenie trybu debugowania WordPress;
- define(’WP_DEBUG_DISPLAY’,true); – dzięki niemu błędy są wyświetlane na stronie wyświetlanej w przeglądarce internetowej;
- define(’WP_DEBUG_LOG’,true); – dzięki niemu pojawiające się błędy są zapisywane w pliku LOG (zobacz: logi strony internetowej).
To trzy podstawowe funkcje debuggera. Nie musisz natomiast uruchamiać ich wszystkich na raz. Zwykle opcja pozwalająca na wyświetlenie błędów w przeglądarce pozostaje wyłączona z dwóch względów:
- bezpieczeństwa – błąd na stronie wyświetliłby się nie tylko Tobie, ale wszystkim użytkownikom w witrynie. Mogłoby dojść zatem do wycieku danych wrażliwych lub informacji, przez które Twoje miejsce w sieci byłoby potencjalnie zagrożone;
- wiarygodności i reputacji – błędy widoczne na stronie wyglądają nieprofesjonalnie w oczach użytkowników. Wskazują na problemy, z którymi boryka się dane miejsce w sieci i wywołują niepotrzebny niepokój.
Na szczęście każdą z tych opcji wyłącza się równie łatwo, jak włącza. Wystarczy tylko, że wartość „true” zastąpisz wartością „false” w odpowiedniej linijce. Dzięki temu debugger może działać w WordPressie i zapisywać błędy w pliku, ale nie wyświetlać ich na ekranie.
Logowanie błędów PHP w pliku debug.log
Zakładając, że uruchomione zostały obie opcje, do przejrzenia błędów wystarczy zalogowanie się do swojego konta w WordPressie. Po otwarciu strony internetowej wszystkie powiadomienia powinny wyświetlić Ci się na monitorze.
Drugim miejscem, w którym je znajdziesz, jest plik ich zapisu. Domyślnie mowa tu o „debug.log”. Znajduje się on w folderze wp-content na serwerze. Możesz pobrać go na swój komputer przy użyciu wyżej wspomnianej już FileZilli. On również otwiera się za pomocą notatnika lub innego edytora tekstu. Znajdują się w nim szczegółowe informacje na temat każdego zdarzenia, które zostało odnotowane przez system.
Zapis błędów PHP. Edycja pliku php.ini
Jeśli chcesz, możesz uruchomić logowanie (zapis) błędów na stronie PHP. Wymaga to natomiast edycji pliku php.ini. Ponownie konieczne jest pobranie go na dysk swojego komputera i edytowanie w notatniku. Wystarczy tylko, że wkleisz do niego kod:
display_startup_errors = Off
display_errors = Off
error_reporting = E_ALL
log_errors = On
error_log = /przykladowa/ścieżka/pliku/bledy.log
Szczególnie istotna jest w tym przypadku ostatnia linijka. To właśnie w niej bowiem musisz wkleić prawdziwą ścieżkę do pliku, w którym chcesz stworzyć rejestr wszystkich błędów. Jego lokalizacją zastąp fragment „/przykladowa/ścieżka/pliku/bledy.log”.
W dzienniku błędów wszystkie raportowane komunikatu mają określone formaty. Składają się z czterech głównych informacji. Ich przykłady mogą wyglądać następująco:
- [21-Mar-2022 19:11:32 UTC] – dokładny moment wystąpienia błędu;
- Błąd krytyczny PHP – typ błędu, do którego doszło na stronie;
- Uncaught Error: Call to undefined function writeMsg() in – przyczyna wystąpienia błędu;
- /przyklad/przyklad/wp/wp-content/przyklad – opis miejsca, w którym doszło do błędu.
Dzięki tak szczegółowej informacji będziesz w stanie zlokalizować przyczynę problemu i szybko ją usunąć lub naprawić.
Jak wyłączyć tryb debugowania WordPress?
Warto korzystać z debug mode na WordPressie jak najczęściej. Wskazane jest to głównie w aspekcie zapisywania błędów w pliku. Staraj się natomiast raczej uruchamiać ten tryb wyłącznie przy okazji przystępowania do optymalizacji strony. Gdy proces ten dobiegnie końca, to wyłączaj go ze względów bezpieczeństwa. Wskazane jest ponadto usuwanie z serwera dzienników błędów. W przypadku włamania mogą one bowiem zostać wykorzystane przeciwko Tobie.
Wyłączenie trybu debuggowania nie jest trudne i trwa jeszcze krócej niż jego włączenie. Wystarczy tylko, że ponownie pobierzesz plik wp-config na swój dysk i rozpoczniesz jego edycję. Tym razem do wyboru masz dwie opcje:
- usunięcie wcześniejszego polecenia, odpowiadającego za uruchomienie debuggera;
- wyłączenie trybu debuggowania za pomocą edycji wcześniej umieszczonego kodu.
Dzięki drugiej metodzie możesz mieć pewność, że debugger nie działa. Aby to zrobić, wystarczy zmienić wartości we fragmencie kodu uruchamiającym to rozwiązanie. Mowa o edycji „true” na „false”. Przy ponownym uruchomieniu wystarczy znów wpisać „true”. Ostatecznie kod wyłączonego debuggera powinien wyglądać tak:
define('WP_DEBUG',false);
define('WP_DEBUG_DISPLAY',false);
define('WP_DEBUG_LOG',false);
Gdy wprowadzisz wszystkie poprawki, zapisz nową wersję pliku. Następnie – przy użyciu klienta FTP – umieść ją ponownie na serwerze. Po zapisaniu zmian system powinien przestać wyświetlać i zapisywać ewentualne błędy.
Zobacz też: Błąd łączenia się z bazą danych WordPress: jak naprawić?