Rimanere bloccati durante la codifica e il test accade subito a qualsiasi programmatore, a volte guardare i log non è sufficiente per risolvere le cose rapidamente, cioè quando l’utilizzo di un debugger diventa davvero utile.
Integreremo XDebug all’interno della nostra configurazione NetBeans in modo da poter eseguire il debug di progetti Php 7.
Di seguito è riportata la configurazione su cui lavorerò :
- Server Web remoto che utilizza Php7 e Apache 2
- Un progetto Zend 3
- Macchina locale che utilizza Netbeans 8.2
- Le impostazioni SFTP sono impostate correttamente per caricare file sul server al salvataggio
Se è necessario installare NetBeans, seguire i passaggi descritti qui : installazione Netbeans.
La macchina locale è in esecuzione su Windows ma ciò non influisce sulla procedura se si è su Linux o Mac poiché il server si trova su una macchina remota.
Inizia con XDebug
Prima installiamo il debugger :
# apt-get installa php-xdebug
Quindi abilita l’estensione :
# phpenmod xdebug
Ora controlla il file in /etc/php/7.0/mods-available/xdebug.ini e le seguenti righe in esso :
zend_extension=xdebug.soxdebug.idekey=netbeans-xdebugxdebug.remote_enable= Onxdebug.remote_handler=dbgpxdebug.remote_mode=reqxdebug.remote_host=888.888.888.888xdebug.remote_port=9000
Sostituisci 888.888.888.888 con il tuo IP locale (l’IP in cui stai eseguendo NetBeans IDE).
Riavvia il tuo server Php e dovresti vedere questo :
Vedere il messaggio di avviso ? Naturalmente influisce sulle prestazioni del tuo sito Web, quindi non raggiungerlo mai su un server di produzione, è meglio utilizzarlo utilizzando una macchina virtuale o su un server locale.
Verifica la tua configurazione php usando il seguente comando:
# php-i | grep xdebug
Sulla tua macchina locale che esegue NetBeans dovresti consentire la porta 9000 e se hai un router devi reindirizzare la porta alla macchina locale o Netbeans non sarà in grado di connettersi al server.
L’utilizzo di un server remoto richiede la mappatura dei percorsi nella configurazione Web avanzata di NetBeans :
- Fai clic con il pulsante destro del mouse sul nome del progetto a sinistra e fai clic su proprietà
Cercare di abbinare i percorsi locali e remoti e fare clic su OK.
Se si avvia il debugger da NetBeans ora (CTRL-F5), che dovrebbe funzionare, vedremo ora come possiamo testarlo con l’applicazione Zend 3 predefinita.
XDebug test
Per dettagli precisi sugli strumenti di debug su IDE, controllare il seguente URL.
Se si desidera eseguire solo un test rapido, impostare uno o più punti di interruzione all’interno dei file di progetto, ad esempio in indexController.php dell’applicazione Zend 3 alla linea 17.
- Avvia il Debugger
- La pagina si ferma al punto di interruzione, vedere la seguente schermata :
Sfoglia ogni scheda della console per acquisire familiarità e fare ulteriori test con l’aggiunta di più punti di interruzione !
In qualsiasi momento se è necessario disabilitare il debug Php, emettere il comando :
# phpdismod xdebug
Bene ora siamo tutti a posto, in un prossimo tutorial esamineremo l’uso di PhpUnit insieme a NetBeans e xdebug tool, discuteremo anche di KCacheGrind per profilare il nostro codice Php.
Non dimenticate di seguirci sui Social media per informazioni aggiornate.