✅ Nowości, motywy, wtyczki WEB i WordPress. Tutaj dzielimy się wskazówkami i najlepszymi rozwiązaniami dla stron internetowych.

Instalowanie Xdebug, część 1: Moduł Xdebug

15

Do tej pory omówiliśmy wiele zagadnień związanych z pracą z WordPressem i debugowaniem. Dotyczy to zwłaszcza pracy z narzędziami i wtyczkami dostępnymi w WordPressie. Jeśli dopiero dołączasz do tej konkretnej serii, upewnij się, że zapoznałeś się z następującymi wpisami:

W poprzednim poście przypomnij sobie, że powiedziałem, co następuje:

Ale jeśli chcesz wejść w świat profesjonalnego, praktycznego debugowania z poziomu swojego IDE, ważne jest, aby zrozumieć, co, jak i dlaczego.

I wreszcie jesteśmy gotowi, aby przyjrzeć się, czego to wymaga. Jednak rozpoczęcie pracy oznacza, że ​​musimy zrozumieć kilka rzeczy o Xdebug, terminologię i mieć IDE, które jest spójne dla wszystkich czytających tę konkretną serię.

Instalowanie Xdebug, część 1: Moduł Xdebug

Więc to zostanie podzielone na dwie części.

  • Najpierw przyjrzymy się terminologii wymaganej do debugowania i upewnimy się, że mamy odpowiednią konfigurację IDE w naszym środowisku programistycznym,
  • Następnie przyjrzymy się, jak upewnić się, że poprawnie zainstalowaliśmy Xdebug, a następnie podłączymy go do naszego środowiska programistycznego, abyśmy mogli go uruchomić.

Jeśli w ciągu ostatnich kilku lat czytałeś różne treści w tym blogu, niektóre z nich mogą wydawać się znajome. Jeśli nie, to nic wielkiego. Pamiętaj, że celem jest upewnienie się, że wszyscy jesteśmy na tym samym poziomie, gdy postępujemy dalej z wyżej wymienioną pracą i przez resztę serii.

Powiedziawszy to, zacznijmy.

Instalowanie Xdebug, część 1

Jak wspomniano powyżej, ten zestaw postów będzie służył jednemu z dwóch celów, z których oba można zwięźle opisać (drugi z nich zostanie opisany w następnym poście):

  1. Terminologia debugowania
  2. Instalowanie IDE

Chociaż wielu czytających to będzie już zaznajomionych z pewną terminologią (zwłaszcza jeśli korzystałeś wcześniej z narzędzi po stronie klienta, a nawet narzędzi po stronie serwera) i masz już wybranego edytora, ważne jest, aby upewnić się, że jesteśmy przynajmniej pracując na spójnym fundamencie.

Jeśli masz pewność co do swoich umiejętności w dwóch wymienionych powyżej punktach, następny post prawdopodobnie będzie dla Ciebie bardziej interesujący. Jeśli, z drugiej strony, wkracza to na nowe terytorium, powinno to położyć podwaliny pod wszystko, czego potrzebujesz, aby upewnić się, że pomyślnie debugujesz projekty w WordPressie.

Co więcej, upewnimy się, że masz spójny zestaw narzędzi do pracy, abyśmy mogli nadal iść naprzód ze standardowym zestawem narzędzi, aby stworzyć najbardziej wydajne środowisko programistyczne.

1 Terminologia debugowania

W zależności od Twojego doświadczenia możesz sprawić, że istnieje od pięciu do siedmiu terminów, z których każdy jest związany z debugowaniem. Opisałem to wcześniej w innych postach na tej stronie. Za każdym razem jednak robiłem to z nieco innym podejściem do treści.

W tym poście staram się uczynić to tak dokładnym i precyzyjnym, jak to tylko możliwe, aby zapewnić spójne odniesienie, które będziemy mogli wykorzystać w kolejnych postach (i pracy). W obecnej formie, oto terminy, które, jak sądzę, każdy powinien znać, ponieważ odnoszą się do ich debugera.

  1. Punkty przerwania. Można je uznać za podstawowe bloki debugowania. Mówiąc najprościej, są to miejsca w kodzie, w których chcesz wstrzymać wykonywanie, aby móc sprawdzić, co się dzieje w kodzie. Być może ma to związek ze zmiennymi; może ma to związek z funkcjami, może ma coś wspólnego z czymś innym. Niezależnie od tego jest to ważne, ponieważ mówisz programowi „hej, chcę zatrzymać wykonywanie programu w tym wierszu, abym mógł zbadać stan programu".
  2. Zegarki. Są to wywołania funkcji, zmienne lub inne miejsca w kodzie, które mogą być ustawione tak, że jesteśmy w stanie dosłownie zobaczyć zmiany wartości podczas wykonywania. Jeśli mówimy o funkcjach, możemy odnosić się do wartości argumentów, które są ustawiane i manipulowane w ramach funkcji. Jeśli mówimy o zmiennych, mówimy o zmiennych; wtedy mówimy o wartościach, które przechowują w dowolnym momencie podczas wykonywania programu. Może to mieć miejsce, gdy ustawiamy określony punkt przerwania, lub gdy przechodzimy przez kod i obserwujemy stan zmiennej podczas wykonywania programu.
  3. Rozpocznij. Ta akcja po prostu nakazuje debugerowi rozpoczęcie monitorowania serwera WWW. Zasadniczo obserwuje wszystko, co dzieje się w programie, a jeśli zostaną ustawione jakiekolwiek punkty przerwania, jest przygotowany do zatrzymania wykonywania i umożliwienia nam przyjrzenia się, co dzieje się ze stanem programu. Technicznie można rozpocząć sesję debugowania i nic nie robić. Nie jest to produktywne, ale możliwe.
  4. Wkrocz do. Załóżmy na chwilę, że masz ustawiony punkt przerwania tuż nad wywołaniem funkcji lub wywołaniem funkcji. To pozwala nam wkroczyć do funkcji, aby monitorować wartość każdego argumentu, sposób manipulowania nimi w funkcji, co funkcja zwraca (jeśli w ogóle) i wszystko, co dzieje się w funkcji.
  5. Przekroczyć. Z drugiej strony załóżmy, że przechodzisz przez funkcję i nie jesteś pewien, czy chcesz zagłębić się w funkcję. Być może interesują Cię tylko wartości zwracane przez funkcję lub stan programu po uruchomieniu funkcji, ale nie interesuje Cię, co dzieje się w ramach funkcji. W gruncie rzeczy traktujesz to jako czarną skrzynkę. To właśnie oznacza przekroczenie funkcji. Oznacza to, że pozwalasz funkcji działać bez wchodzenia w nią, aby zobaczyć, jak działa.
  6. Wyjdź. Ten szczególny aspekt debugowania jest przydatny, gdy znajdziesz się w funkcji i jesteś gotowy, aby powrócić do głównej linii wykonania, ponieważ widziałeś już wszystko, co musisz zobaczyć. Być może byłeś świadkiem zmiany wartości zmiennej, może widziałeś, jak algorytm wykonuje wystarczająco dużo pracy, aby wiedzieć, że zrobił to, co chcesz. Niezależnie od przypadku, pozwoli to wyjść z funkcji, trafnie nazwanej, a następnie przejść do
  7. Zatrzymaj się. Tak jak start nakazuje debugerowi nasłuchiwanie serwera, zwracanie uwagi na punkty przerwania i wyświetlanie informacji o postępie działania aplikacji, tak stop robi dokładnie odwrotnie. Mówi debugerowi, że skończyliśmy nasłuchiwać, obserwować i zwracać uwagę na stan programu. Nie oznacza to, że program się zatrzymuje – tylko debuger. Jeśli więc skończyłeś zwracać uwagę na wszystkie informacje dostarczone przez debuger, prawdopodobnie możesz zatrzymać debuger.

Na koniec chciałbym dodać, że PHP jest wyjątkowe, ponieważ oferuje różnorodne publicznie dostępne zmienne, takie jak $_GET , $_POST, $_REQUEST i tak dalej. Są to również dostępne dla nas zmienne, które możemy obserwować. Nie ogranicza się to tylko do tego, co mamy napisane w naszym kodzie.

Jest to szczególnie przydatne, gdy patrzymy na dane dotyczące przeładowań stron, żądań Ajax (takich jak podczas akcji GET i POST) i tak dalej.

2 Instalacja Xdebuga

Chociaż prawdopodobnie wynika to z poprzednich postów z tej serii, zamierzam używać Visual Studio Code jako mojego wybranego IDE. Jeśli go nie masz, to polecam. Jeśli jednak masz IDE, z którym czujesz się komfortowo, to polecam.

  • Kod jest ciągle rozwijany,
  • ma aktywną ekonomię rozszerzeń,
  • działa dobrze z różnymi językami, narzędziami itp.,
  • jest lekki i dobrze współpracuje z różnymi rzeczami, których możemy używać w programowaniu WordPress (takim jak PHP, HTML i JavaScript).

Co więcej, Code ma również solidne wsparcie dla Xdebug. Aby upewnić się, że debugger jest poprawnie zainstalowany, musimy upewnić się, że mamy zainstalowane rozszerzenie z naszą instalacją PHP, że jest ono dostępne w naszym systemie i może być wykonane w naszym IDE. Przyjrzymy się temu, ale najpierw musimy się upewnić, że Xdebug jest poprawnie zainstalowany.

Instalowanie Xdebuga

Instalacja Xdebug jest łatwa. Z poziomu sesji terminalowej musisz wykonać następujące polecenie:

Gdy to zrobisz, podczas instalacji zauważysz kilka rzeczy w oknie terminala. Jeśli nie jesteś szczególnie zainteresowany, nie musisz się martwić o to, co robi, dopóki nie powrócisz do wiersza polecenia.

W tym momencie moduł Xdebug został zainstalowany; jednak będziesz musiał powiedzieć PHP, że jest zainstalowany i gdzie może znaleźć moduł.

Aby zainstalować rozszerzenie z aktualną wersją PHP, ważne jest, aby wiedzieć, którą wersję PHP zainstalowałeś. Jeśli używasz menedżera pakietów, może być wiele wersji i będziesz musiał wskazać plik konfiguracyjny tej konkretnej wersji, gdzie znaleźć moduł.

I odwrotnie, jeśli masz zainstalowaną pojedynczą wersję, będziesz musiał wskazać jedną wersję PHP, gdzie jest zainstalowana. Po pierwsze, możesz sprawdzić, gdzie Xdebug istnieje w systemie plików za pomocą tego polecenia:

Następnie będziesz musiał zaktualizować plik konfiguracyjny dla swojej instalacji PHP. Aby to zrobić, po prostu uruchom php -v z wiersza poleceń, a pokaże ci, której wersji używasz. Stąd będziesz musiał zlokalizować plik inicjujący dla używanej wersji PHP. Jeśli po uruchomieniu php -v wrócisz z czymś takim:

Instalowanie Xdebug, część 1: Moduł Xdebug

To mówi nam, że używamy PHP 7.1.19 (choć twoja wersja może się różnić). Stąd wiemy, że należy szukać określonego pliku konfiguracyjnego PHP dla tej wersji PHP. Aby to zrobić, poszukaj pliku php.ini w katalogu /usr/local/etc/php/7.1/ w twoim systemie (chociaż dokładny numer wersji może się różnić).

Stamtąd otwórz plik, a następnie dodaj następujący wiersz kodu:

zend_extension="/usr/local/lib/php/pecl/20160303/xdebug.so"

To powie PHP, gdzie znajduje się Xdebug, aby mógł być używany w Twojej pracy.

Testowanie instalacji

Aby sprawdzić, czy instalacja przebiegła poprawnie, możesz uruchomić następujący kod w swoim terminalu:

A potem powinieneś zobaczyć na ekranie coś takiego:

Instalowanie Xdebug, część 1: Moduł Xdebug

Zauważ, że na powyższym zrzucie ekranu widzisz następujące elementy:

z Xdebug v2.6.0, Copyright (c) 2002-2018, Derick Rethans

Oznacza to, że moduł został zainstalowany i PHP o tym wie.

Konfiguracja Twojego IDE

W następnym poście przyjrzymy się powiązaniu Xdebug z naszym IDE. Zakładając, że wykonałeś kroki opisane w tym poście i że wszystko poszło dobrze, powinieneś być gotowy, ponieważ dotyczy to przygotowania się do debugowania projektów WordPress.

Jednak dopóki nie uruchomimy go w IDE, nie jest on tak użyteczny (lub jest trudniejszy, niż musi być). Więc w przyszłym tygodniu przyjrzymy się dokładnie, jak to zrobić.

Źródło nagrywania: tommcfarlin.com

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów