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 !