Środowisko deweloperskie

Instalowanie rozszerzenia PHP XDebug

Aby móc debugować witryny, zaleca się zainstalowanie rozszerzenia XDebug . Rozszerzenie XDebug pozwala zajrzeć do działającego programu, zobaczyć zmienne przekazywane przez klienta, chodzić po stosie wywołań i profilować kod PHP. XDebug zapewnia również możliwości analizy zasięgu kodu, które są przydatne podczas pisania testów jednostkowych dla twojego kodu.

W systemie Debian lub Ubuntu Linux

Aby zainstalować XDebug, wystarczy wpisać następujące polecenie:

sudo apt-get install php-xdebug

Następnie edytuj plik /etc/php/7.0/mods-available/xdebug.ini, wpisując:

sudo mcedit /etc/php/7.0/mods-available/xdebug.ini

Dodaj następujące linie na końcu pliku (zastąp adres IP na adres, z którego chcesz korzystać ze swojej witryny):

xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=<remote_ip_address>

Na koniec zrestartuj serwer Apache, aby zastosować zmiany. Następnie otwórz phpinfo.php w przeglądarce i poszukaj sekcji XDebug (powinna wyglądać jak na rysunku):

Rysunek A.2. Informacje XDebug

W Fedorze, CentOS lub Red Hat Linux

W tych dystrybucjach Linuksa instalacja XDebug jest nieco trudniejsza. Zainstaluj pakiet XDebug za pomocą następującego polecenia:

yum install php-pecl-xdebug

Po instalacji wymagane jest utworzenie pliku xdebug.ini w katalogu /etc/php.d :

mcedit/etc/php.d/xdebug.ini

Dodaj następujące linie na końcu pliku (zastąp adres zdalny IP adresem swojego serwera):

[xdebug]

zend_extension = /usr/lib/php/modules/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=<remote_ip_address>
xdebug.remote_port=9000

Zrestartuj serwer WWW Apache, aby zastosować zmiany. Następnie sprawdź phpinfo.php w przeglądarce. Jeśli instalacja zakończyła się pomyślnie, zobaczysz informacje związane z XDebug.

Instalowanie rozszerzenia PHP XDebug w systemie Widndows

Pobierz odpowiednią bibliotekę DLL z tej witryny.

Następnie edytuj plik php.ini i dodaj następujący wiersz:

zend_extension="C:/path/to/your/xdebug.dll"

Dodaj następujące linie na końcu pliku (zastąp adres zdalnego IPprzez adres z którego chcesz widzieć swoją witrynę):

xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=<remote_ip_address>

Na koniec zrestartuj serwer Apache, aby zastosować zmiany. Następnie otwórz phpinfo.php w przeglądarce i poszukaj sekcji XDebug (powinna wyglądać jak na rysunku):

Rysunek A.4. Informacje XDebug

Więcej informacji:

Fragment przykładowego pliku php.ini (dlaWAMP / Windows):

; XDEBUG Extension
[xdebug]
zend_extension ="C:/wamp64/bin/php/php7.2.0/zend_ext/php_xdebug-2.4.1-7.0-vc14-x86_64.dll"
xdebug.remote_enable = On
xdebug.profiler_enable = off
xdebug.profiler_enable_trigger = off
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="C:/wamp64/tmp"
xdebug.show_local_vars=0
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_autostart = 1

Odpowiedni fragment php.ini (do uzupełnienia po sudo pecl install xdebug):

zend_extension = /usr/lib/php/20170718/xdebug.so
xdebug.remote_enable = 1
xdebug.remote_connect_back=1
xdebug.remote_port = 9000
xdebug.scream=0
xdebug.show_local_vars=1