Il debug di un progetto Php con NetBeans

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 :

Composer Serve-XDebug

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à

Configurazione avanzata NetBeans

Mappatura dei percorsi Netbeans

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.

  1. Avvia il Debugger
  2. La pagina si ferma al punto di interruzione, vedere la seguente schermata :

Breakpoints-Xdebug

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.

Write a Comment

Il tuo indirizzo email non sarà pubblicato.