Ecco una mini guida per poter eseguire il debug di un sito sviluppato in PHP con NetBeans, nota IDE di sviluppo .
- Installare il modulo PHP Xdebug , seguire rigorosamente le istruzioni del sito di riferimento Xdebug.org
- Trovare il path del modulo installato, il file xdebug.so in linux o xdebug.dll in windows
- Modificare il file di configurazione utilizzato da dal web server per interpretare le pagine php ( il file php.ini ) ed aggiungere le seguenti righe di configurazione ( potrebbero essere già presenti )
[XDebug]
;; Only Zend OR (!) XDebug
; zend_extension_ts="C:xamppphpextphp_xdebug.dll"
; Modify the filename below to reflect the .dll version of your xdebug
;zend_extension_debug=/usr/lib64/php5/extensions/xdebug.so
zend_extension_debug=/usr/lib/php5/extensions/xdebug.so
xdebug.remote_enable=true
xdebug.remote_host=localhost
xdebug.remote_port=9010
xdebug.remote_handler=dbgp
nel mio caso su una macchina linux con un apache web server il file era /etc/php5/apache2/php.ini .La mia configurazione prevede
- Listener del debugger sulla macchina localhost ( in locale ) sulla porta 9010
- Protocollo dbgp , spesso è questo il problema se in NetBeans non funziona
- Se si ha un firewall tra il web server e l'ambiente di sviluppo dove gira NetBeans verificare che non filtri la porta configurata, nella mia opensuse dove tutto era in localhost inizialmente ho avuto questo problema
- Restartare il Web Server
- Per essere sicuri che il modulo sia attivo, creare una pagina php con il seguente codice
<?php
// Show all information, defaults to INFO_ALL
phpinfo();
?>
ed accedere alla pagina web, tra i moduli installati dovrà comparire xdebug - In NetBeans , nelle Tools -> Options -> PHP , impostare nella sezione Debugging la porta configurata , è anche possibile impostare che ad ogni inizio pagina il NetBeans si ferma alla prima riga in Debug Mode
- In NetBeans, verificare che i progetti non abbiamo impostato, se non voluto, un proxy debug
verificare anche la URI che avvia il sito web - Avviare il debug e provare il piacere di vedere a run time il flusso della nostra pagina web premendo il tasto Debug Project
- Impostare i breakpoint e debuggare utilizzando i tasti soliti di un debugger .... e buon divertimento !