Integrare Xdebug cu Netbeans
Postat la Sat 16 January 2016 in tutoriale, php
Ca dezvoltatori de proiecte web/php de multe ori suntem nevoiti sa cautam problemele din codul scris. Cea mai uzuala metoda este adaugarea de clasicelor linii:
print_r($variable);
var_dump($variable);
die('here I am');
O metoda mai eficienta insa este utilizarea extensiei Xdebug ce permite afisarea multor informatii utile.
Instalarea se poate face prin pachete precompilate ori via PECL. Cum instalam pe Ubuntu:
# apt install php5-xdebug
Completam in fiserul /etc/php5/mods-available/xdebug.ini cu umatoarele setari principale:
1 2 3 4 5 6 7 8 9 | zend_extension=xdebug.so xdebug.remote_enable="1" xdebug.remote_handler="dbgp" xdebug.remote_host="localhost" xdebug.remote_mode="req" xdebug.remote_port="9000" xdebug.remote_autostart="1" xdebug.remote_log="" xdebug.idekey="netbeans-xdebug" |
Pentru alte setari puteti consulta documentatia oficiala.
Repornim serverul web
# service apache2 restart
In aplicatia Netbeans verificam sa avem urmatarele setari:
Tip: verificati ca framework-ul folosit sa permita includerea in url a caracterelor ? & =.
In cod marcam puncte de oprire unde dorim sa oprim aplicatia si sa facem analiza:
Pornim din bara de unelte aplicatia in mod debug, astfel aplicatia se deschide intr-un nou tab cu link de forma http://aplicatie/index.php?XDEBUG_SESSION_START=netbeans-xdebug.
Tip: recomand instalarea extensiei NetBeans Connector in Chrome.
Navigam spre pagina dorita si aplicatia se opreste iar in Netbeans apare o fereastra in care putem vizualiza variabilele folosite in acel punct:
Continuarea rularii aplicatiei, spre urmatorul punct de oprire - daca e cazul - se face din bara de unelte
La final oprim aplicatia din modul debug:
De asemenea Xdebug permite analiza functionarii aplicatiilor din punct de vedere al performantei cu profiler-ul integrat.