Tryb debugowania WordPressa - Porady dotyczące debugowania Twojej strony

Tryb debugowania WordPressa - Porady dotyczące debugowania Twojej strony

Jeśli dotarłeś do tego artykułu, to zakładam, że napotkałeś błąd na swojej stronie WordPress. Albo że jesteś osobą, która regularnie zajmuje się konserwacją i spodziewa się, że napotka jakiś błąd. Tak czy inaczej, chcę ci przypomnieć, że pisanie kodu i pisanie błędów idą ze sobą w parze. Nawet najlepsi programiści popełniają błędy. Abyś nie popełnił tych błędów, napisałem dla ciebie ten przewodnik po trybie debugowania WordPressa. Jest to bardzo pomocne narzędzie do odkrywania i rozumienia błędów w WordPressie. 

Pierwszy krok w debugowaniu Twojego kodu 

Usiądź wygodnie w fotelu, weź kilka głębokich wdechów i wydechów, i uświadom sobie, że wszyscy programiści w pewnym momencie napisali kod zawierający błędy. Za każdym razem, gdy piszesz błędny kod, czegoś się uczysz - a jeśli się czegoś nauczysz, będziesz się rozwijał i doskonalił swoje umiejętności. 

Choć możesz mieć wrażenie, że błąd jest tylko po to, by doprowadzić Cię do szaleństwa, na szczęście jest to stosunkowo mało prawdopodobne 😉 Dobra rzecz: o ile nie masz do czynienia z najnowszą technologią, jest duża szansa, że ktoś inny już napotkał ten sam błąd. 

Co to jest debugowanie? 

Jeśli nie znasz terminu debugowanie, to zawiera się on dosłownie w nazwie: de - bugging. W języku komputerowym błąd w twoim kodzie nazywamy bugiem. Tak więc debugowanie kodu oznacza: usuwanie błędów z kodu. Choć ludzie lubią zakładać, że błędy są spowodowane przez ich pracowników lub źle przemyślane aktualizacje oprogramowania, prawda jest taka, że wiele błędów jest wypisanych własnoręcznie - i najlepiej jest się z nimi pogodzić już na początku.

Dlaczego debugowanie PHP wydaje się bardziej skomplikowane niż debugowanie JavaScript

Może jesteś przyzwyczajony do debugowania w innym języku, na przykład w JavaScript. Nieco mylące jest to, że JavaScript jest wykonywany dopiero po wyrenderowaniu strony - przynajmniej taki jest standard w sieci i powód, dla którego umieszczasz swój plik .js na końcu dokumentu HTML. Oznacza to, że twoja strona może być wyświetlana nawet wtedy, gdy wystąpią błędy w JavaScript. Jeśli tego nie zauważysz lub nie sprawdzisz dziennika konsoli, możesz nawet nie wiedzieć, że wystąpił błąd. 

PHP jest jednak językiem po stronie serwera i służy do budowania stron internetowych (choć potrafi o wiele więcej). Jeśli więc w kodzie PHP wystąpi błąd, Twoja strona może się nie załadować, a odwiedzający nie zobaczą żadnej treści. Dlatego błędy PHP są zazwyczaj bardziej widoczne. 

Debugowanie w WordPress z WP-Debug 

Co to jest tryb debugowania WordPress ?

Jeśli tryb debugowania WP (czasami nazywany również wp-debugger lub wp-debug) jest aktywny, pokazuje on błędy, wskazówki i ostrzeżenia zgłaszane przez system WordPress . Domyślnie, wp-debugger jest wyłączony. Stała PHP wp_debug jest zmienną globalną, która wskazuje stan trybu debugowania WordPress poprzez Boolean, tzn. czy jest on włączony czy wyłączony. 

Dlaczego powinieneś używać trybu debugowania WordPressa?

Ponieważ WordPress używa kilku różnych komponentów: 

Frontend - HTML / CSS

Backend - PHP / Baza danych

Wtyczki - aplikacje PHP tworzone przez strony trzecie

Dlatego może być dość trudno dowiedzieć się, co spowodowało problem na twojej stronie. Wp-debugger jest narzędziem, które pozwala na przeglądanie lub rejestrowanie błędów. 

Zanim zaczniesz debugować, zrób kopię zapasową! 

Jest takie stare powiedzenie, że "lepiej zapobiegać niż leczyć". Oznacza to, że najlepiej jest nie dopuścić do tego, aby problem pojawił się w pierwszej kolejności. Dla Ciebie oznacza to: Zabezpiecz swoje dane!

30-minutowa praca konserwacyjna może szybko zamienić się w 5-godzinny koszmar tylko dlatego, że nie zrobiono kopii zapasowej, zanim ktoś namieszał w wewnętrznych plikach.

Na szczęście, jeśli hostujesz swoją stronę pod adresem Raidboxes , kopia zapasowa jest tworzona automatycznie! Wystarczy wejść na stronę Dashboard, kliknąć kartę "Kopie zapasowe" i wyświetlić wszystkie codzienne kopie zapasowe. 

przegląd kopii zapasowych w Raidboxes dashboard

Jeśli chcesz wprowadzić zmiany i musisz utworzyć ręczną kopię zapasową, kliknij na przycisk "Utwórz ręczną kopię zapasową" i nadaj jej nazwę. Wskazówka: Wybierz nazwę, która będzie miała sens, abyś mógł później rozpoznać kopię zapasową. Teraz możesz bawić się swoją stroną tak bardzo, jak tylko chcesz! Jeśli coś pójdzie nie tak, po prostu przywróć swoją kopię zapasową. 

jak utworzyć ręczną kopię zapasową w urządzeniu Raidboxes dashboard

Włącz tryb debugowania WordPressa na stronie Raidboxes

W swoim panelu administracyjnym Raidboxes możesz jednym kliknięciem włączyć wp-debugger w ustawieniach swojego Boxa: 

jak włączyć program wp-debugger w systemie Raidboxes dashboard

Jeśli klikniesz WordPress Debug Logs po aktywacji WP Debug Mode, możesz zobaczyć w dzienniku na żywo, jakie błędy są rzucane przez twoją stronę WordPress. Dostęp do samego dziennika debugowania można uzyskać poprzez ustawienia w elemencie WP Debug (patrz zrzut ekranu) lub poprzez przegląd Boxa. Możesz także uzyskać dostęp do plików WP Debug Log przez FTP: Twoje pliki dziennika są przechowywane w /wp-content/ w pliku debug.log.

Tryb debugowania WordPressa - Porady dotyczące debugowania Twojej strony

Więcej informacji na temat analizy błędów witryny WordPress można znaleźć na stronie Raidboxes w naszym centrum pomocy.

Czy potrzebujesz wp-config.php do debugowania?

Na stronie Raidboxes możesz aktywować tryb debugowania WordPressa jednym kliknięciem na swojej stronie Dashboard . Ze względów bezpieczeństwa plik wp-config.php jest przeznaczony tylko do odczytu. Jednak w ustawieniach witryny Box w sekcji WordPress > wp-config.php można przechowywać specjalne wpisy, jeśli jest to wymagane.

Bardzo ważne: Używaj tej funkcji tylko wtedy, gdy jesteś pewien, co dane wpisy robią. Edycja pliku wp-config.php może doprowadzić do powstania wadliwej strony. Przed dodaniem wpisu powinieneś więc sprawdzić, czy została już utworzona kopia zapasowa.

W następnej części wyjaśnimy, jak włączyć tryb Debugowania WP poprzez wp-config.php, kiedy rozwijasz program lokalnie.

Aktywuj lokalnie WordPress Debug 

W swoim lokalnym rozwoju możesz włączyć wp-debug, edytując plik wp-config.php w korzeniu folderu WordPress i dodając następujący kod: 

// Dies aktiviert das Debugging.
define( 'WP_DEBUG', true );

Możesz też odkryć, że to stwierdzenie zostało już dodane, ale jego wartość jest fałszywa. Jeśli tak jest, po prostu ustaw tę wartość na True. 

// Dies deaktiviert das Debugging.
define( 'WP_DEBUG', false );
gdzie znajduje się Twój plik wp-config
włączenie trybu debugowania WordPress  w PHP

W tym miejscu chciałbym jeszcze raz podkreślić, jak ważne jest posiadanie kopii zapasowej. Teraz jest dobry czas, aby sprawdzić to ponownie.  

Tryb debugowania jest teraz aktywny - i co teraz?

Teraz, gdy wp-debugger jest aktywny, błędy są wyświetlane bezpośrednio w oknie przeglądarki (jeśli WP_DEBUG_DISPLAY jest ustawiony na true) - jest to zarówno przekleństwo, jak i błogosławieństwo. Z jednej strony możesz zobaczyć błędy, ale z drugiej strony wszyscy użytkownicy Twojej strony mogą je zobaczyć, co nie jest idealne. Aby dać Ci przykład, dodałem małą, nieznaną funkcję do stopki standardowej strony WordPress Themes "Twenty Twenty-One". 

Przed aktywacją wp-debug: 

przed uaktywnieniem trybu debugowania WordPress

Po aktywacji wp-debug: 

po uruchomieniu trybu debugowania WordPress

Pewnie nie chcesz, żeby odwiedzający twoją stronę to widzieli, prawda? Komunikat o błędzie nie tylko przeszkadza w projektowaniu, ale może nawet ujawnić poufne informacje. Na przykład, zanim wprowadziłem pewne zmiany na wyjściu, pojawiła się moja nazwa użytkownika, a z tą informacją każdy haker mógłby przeprowadzić atak. 

Czy Twoje błędy są rejestrowane?

Jeśli aktywujesz WP-Debug, informacje o błędzie nie są zapisywane, a jedynie wyświetlane. Aby zapisać te informacje, musisz włączyć wp_debug_log - jest to omówione bardziej szczegółowo w dalszej części artykułu.

Jak aktywować tryb debugowania WordPress i zapobiec wyświetlaniu błędów w kodzie HTML

Na szczęście istnieje rozwiązanie tego problemu w WordPress . Dodaj następujący kod do wp-config.php: 

define( 'WP_DEBUG_DISPLAY', false );

Zapobiegnie to pojawianiu się błędów w kodzie HTML Twojej strony i zaoszczędzi użytkownikom koszmaru, który być może spowodowałeś. Ostatnim elementem układanki jest to, jak sprawdzić błędy bez ich publikowania. Witamy w logowaniu błędów! 

Aktywuj rejestrowanie błędów w WordPress 

W pliku wp-config.php, musisz włączyć rejestrowanie błędów z WordPress . Spowoduje to utworzenie pliku .log z logami i szczegółami błędów, które wystąpiły na Twojej stronie. 

define( 'WP_DEBUG_LOG', true );

Zazwyczaj znajdziesz plik dziennika w folderze wp-content witryny WordPress , chyba że masz poprawną ścieżkę pliku dla tego dziennika, jak określono poniżej: 

define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );

Jednakże, mój dziennik błędów został zapisany w katalogu głównym WordPress . Więc jeśli nie znajdziesz swojego dziennika błędów w folderze wp-content, powinieneś szukać gdzie indziej:  

plik dziennika w systemie plików

Przegląd dziennika błędów

Logi błędów dają całkiem jasne wskazówki, co poszło nie tak. Ale to, że coś jest jasne, nie oznacza, że to rozumiesz, więc rozłóżmy to na czynniki pierwsze. 

przykład wpisu do dziennika z trybu debug WordPress
  1. Czas wystąpienia błędu: [12-Apr-2021 20:32:47 UTC]
  2. Typ błędu: Błąd krytyczny PHP
  3. Przyczyna błędu: Uncaught Error: Call to undefined function writeMsg() in
  4. Gdzie wystąpił błąd: /home/XXXXXXX/DEVELOPMENT/wp/wp-content/themes/twentytwentyone/footer.php:73

W przypadku, gdy zastanawiasz się, czym jest błąd, który wstawiłem, zdefiniowałem niepoprawną metodę writeMsg() w pliku footer.php, która powoduje błąd. 

Nie zapomnij dezaktywować!

Ważne: Nie zapomnij wyłączyć trybu debugowania WordPress po zakończeniu analizy. Jeśli pozostawisz ją aktywną, WordPress zapisze wszystkie znalezione błędy do pliku debug.log. Jeśli błędy pojawiają się regularnie, plik ten może stać się zbyt duży i zajmować pamięć.

Czy dziennik błędów WordPress jest zbyt duży?

Dzienniki błędów mogą się rozrastać z czasem, jeśli nie są kontrolowane. Pamiętaj, że rejestrowane są nie tylko błędy, ale także ostrzeżenia i podpowiedzi. Kiedy pojawiają się nowe wersje PHP, niektóre metody mogą stać się przestarzałe lub nawet Plugins mogą nie być już wspierane. W takim przypadku zostanie wygenerowanych więcej błędów. 

Normalnie dziennik błędów powinien mieć rozmiar tylko kilku kB, ale nawet wtedy jego przeszukiwanie jest uciążliwe. W gorszych przypadkach błędy są rejestrowane w pliku, który ma już kilka MB wielkości i zawiera tysiące linii tekstu. Oprócz tego, że jest to bardziej mylące, prowadzi to do spowolnienia czasu odpowiedzi pliku dziennika i może ogromnie spowolnić wyszukiwanie błędów ze względu na czas oczekiwania podczas ładowania dziennika. Co w takim razie możesz zrobić? 

Pobierz plik do archiwizacji, a następnie usuń go! 

Jeśli logi błędów WordPress zostały aktywowane w wp-config.php i nie można znaleźć pliku error.log, WordPress tworzy zupełnie nowy plik i wypełnia go bieżącymi błędami.

Wnioski

Debugowanie kodu czyni rozwój zarówno wyzwaniem jak i satysfakcją. Ponieważ błędy zmuszają Cię do poszerzania wiedzy, rozwijania pozytywnego nastawienia i nieszablonowego myślenia. Jeśli masz jakiekolwiek pytania lub trudności z debugowaniem strony WordPress , zostaw komentarz lub skontaktuj się z nami na czacie pomocy technicznej. Miłej zabawy przy debugowaniu!

Czy masz jakieś pytania?

Jeśli masz więcej pytań dotyczących trybu debugowania WordPressa, skorzystaj z funkcji komentowania! Czy interesują Cię aktualne tematy związane z WordPressem, projektowaniem stron internetowych i biznesem online? Następnie należy śledzić stronę Raidboxes na Twitterze i Facebooku, LinkedIn lub za pośrednictwem naszego biuletynu.

Spodobał Ci się ten artykuł?

Zostawiając opinię pomożesz nam udoskonalać publikowane przez nas treści.

Napisz komentarz

Twój adres e-mail nie zostanie opublikowany.