Ś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):
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):
Więcej informacji:
- https://xdebug.org/wizard.php
- https://stackoverflow.com/questions/8712462/how-to-configure-xdebug-with-wamp
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