Crea sito

Pillole di PHP – Come debuggare con NetBeans e Xdebug

| 15 aprile 2012 | 0 Comments

Devo dire che non sono mai stato un fervente utilizzatore di debug, sono dell’idea che se una persona realizza un software debba sembre avere a colpo d’occhio l’idea del punto del codice da cui sia scaturito un qualsiasi errore solamente osservando l’output. Devo anche ammettere, però, che, per chi utilizza solitamente Visual Studio per programmare in ASP, la mancanza di un debugger in PHP, sia un enorme ostacolo. Ecco per quale motivo ho deciso di scrivere questa guida su come installare Xdebug in NetBeans. Bando alle ciance, iniziamo subito!

Software necessario

  1. Apache Server on modulo PHP installato e funzionante (nella guida utilizzerò XAMPP Windows 1.7.7)
  2. Il browser Mozilla Firefox (nella guida userò la versione 11)
  3. L’estensione per PHP Xdebug
  4. Il Plug-in per Firefox easy Xdebug
  5. NetBeans con JDK EE (nella guida utilizzerò la 7.1.1)

Installare Apache Server

Teoricamente se siete arrivati a questa pagina è perchè già state programmando in PHP e sentite l’esigenza solo di abilitare il debugger di NetBeans, ma per completezza scriverò anche questo passaggio, tanto è brevissimo.

Scaricate l’ultima versione Installer di XAMPP Windows dalla pagina http://www.apachefriends.org/it/xampp-windows.html e lanciate l’installazione. Vi Consiglio di lasciare tutto com’è impostato e di proseguire passo passo fino alla fine della stessa.  Alla fine dell’operazione il vostro server Apache sarà installato in c:\xampp e sarà raggiungibile (una volta avviato tramite il Control Panel Application premendo il tasto Start affianco alla scritta Apache) all’indirizzo http:\\127.0.0.1 oppure http:\\localhost .

Installare Mozilla Firefox

Aprite la pagina http://www.mozilla.org/it/firefox/fx/ è scaricate ed installate l’ultima versione disponibile del browser.

Installare Xdebug

Se avete appena installato XAMPP seguendo i passaggi qui sopra, aprite il browser Firefox e puntate l’indirizzo locale http://127.0.0.1/xampp/phpinfo.php

In caso contrario dovrete creare una pagina php (con notepad ad esempio) sul vostro server con il segento contenuto:

<!--?php phpinfo(); ?-->

Dopo averla creata e salvata, puntatela con Firefox (ad esempio salvandola in C:\xampp\htdocs\phpinfo.php la dovete aprire in Firefox puntando l’indirizzo http://127.0.0.1/phpinfo.php).

Utilizzando il tasto destro sulla pagina phpinfo.php appena aperta in Firefox clikkate Seleziona tutto e premete CTRL + C per copiare il contenuto dell’intera pagina in memoria.

A questo punto aprite la pagina http://xdebug.org/wizard.php e nel campo testo vuoto incollate il contenuto della memoria con CTRL + V e premete il tasto Analyse my phpinfo() output.

Scorrete la pagina e cercate la riga in cui sta scritto INSTRUCTIONS e clikkate sul link del punto 1 della lista (a me ad esempio esce scritto 1. Download php_xdebug-2.1.4-5.3-vc9.dll). Non posso fornirvi io il link diretto perchè dipende dalla versione di XAMPP e modulo PHP che avete installato, per questo motivo c’è da fare questa trafila.

Una volta scaricato copiamo il file nella cartella estensioni di PHP, nel mio caso C:\xampp\php\ext\ .

Subito dopo andiamo nella cartella del modulo PHP, nel mio caso C:\xampp\php\ ed apriamo con il blocco note il file php.ini. Andiamo al fondo del file ed aggiungiamo le 4 righe seguenti:

zend_extension=C:\xampp\php\ext\php_xdebug-2.1.4-5.3-vc9.dll;
xdebug.remote_enable=on;
xdebug.remote_host=localhost;
xdebug.remote_port=9000;
xdebug.remote_handler=dbgp;

ATTENZIONE: l’indirizzo del file di estensione di php_xdebug, per il discorso fatto precedentemente, potrà essere diverso e dovrà contenete il nome del file che avete scaricato prima.

Ora che avete aggiunto le righe, salvate il file, andate di nuovo nello XAMPP Controla Panel Application e premete Stop (sempre affianco alla scritta Apache) e poi di nuovo Start. Quando riapparirà la scritta Running in verde, ritornate o riaprite in Firefox la pagina http://127.0.0.1/xampp/phpinfo.php o http://127.0.0.1/phpinfo.php e premete F5 per aggiornarla. Una volta fatto questo clikkate di nuovo col destro sulla pagina, Seleziona tutto, CTRl+C e ritornate alla pagina http://xdebug.org/wizard.php incollando nel campo testo il contenuto della vostra memoria (il nuovo phpinfo) e premete il tasto premuto precedentemente.

Se avete fatto tutto come dovevate, la prima riga del SUMMARY dovrebbe essere qualcosa del tipo Xdebug installed: 2.1.4, comunque con un numero di versione.

Installare Easy Xdebug per Firefox

Aprite la pagina https://addons.mozilla.org/it/firefox/addon/easy-xdebug/ e premendo il tasto verde Aggiungi a Firefox, installatelo. Vi verrà chiesto di riavviare Firefox, fatelo. Di standard, in Firefox, la barra dei componenti aggiutivi è disabilitata, quindi premiamo il tasto arancione in alto a sinistra con su la scritta Firefox ed andiamo in Opzioni, Barra dei componenti aggiuntivi. Se tutto è andato bene apparirà nella parte bassa del browser una sottile barra con due simboli sulla sinistra.

Installare NetBeans per PHP

Andate alla pagina http://www.oracle.com/technetwork/java/javaee/downloads/index.html e scaricate l’ultima versione della Java EE 6 SDK with JDK. Una volta scaricato il file, lanciate l’installazione e procedete senza cambiare alcun parametro e accettando le condizioni contrattuali.

Andate alla pagina http://netbeans.org/downloads/ e scaricate la versione PHP o la All. Una volta scaricato il file, lanciate l’installazione e procedete senza cambiare alcun parametro e accettando le condizioni contrattuali.

Prova di Funzionamento

Avviate NetBeans poi andate in Tools, Options etichetta PHP e sotto etichetta Debugging. Controllate che Debugger Port sia impostato su 9000 (ovvero come avete impostato precedentemente nel vostro file php.ini), che la Session ID sia netbeans-xdebug e che vi sia la spunta su Stop at First Line, infine premete OK.

Adesso create un nuovo progetto con clikkando su New Project… e selezionate PHP a sinistra e PHP Application a destra e premete Next. Ora nel Project Name scrivete ad esempio TestSite e premete Finish.

Finalmente avrete davanti la vostra pagina php da testare e se avete fatto tutto come vi ho detto dovrebbe trovarsi fisicamente in C:\xampp\htdocs\TestSite\index.php e sarà raggiungibile tramite browser con l’indirizzo http://127.0.0.1/TestSite/index.php .

Nel codice della vostra pagina index.php, in NetBeans scrivete ad esempio il codice:

<!--?php $a = 12; $b = 14; $c = $a + $b; echo $c; ?-->

e salvatela.

Clikkate con il mouse a lato della riga (sul numero della riga) in cui sta scritto $c = $a + $b; si dovrebbe colorare tutta la riga di rosso come nella figura mostrata.

Ora cercate sul bordo estremo sinistro di NetBeans la scritta verticale Projects e clikkateci su. Nella nuova finestrella che si aprirà sulla sinistra, clikkate con il tasto destro sul nome del vostro nuovo progetto, ovvero TestSite e clikkate su Properties. Sarà apparsa l’ennesima finestra al centro dello schermo con a sinistra le Categories in cui dovrete evidenziare Run Configuration ed a destra dovrete invece clikkare il tasto Advanced… Nella nuova finestra Advanced Web Configuration, sotto Debug URL: mettete il pallino su Do Not Open Web Browser e premete Ok e di nuovo Ok su entrambe le finestre aperte.

Finalmente siamo pronti a debuggare!

Aprite su Firefox la vostra pagina da debuggare http://127.0.0.1/TestSite/index.php

e nell’angolo in basso a destra di firefox controllate che l’iconcina verde dell’insetto (la prima a sinistra), abbia un pallino rosso sopra, in caso contrario premeteci sopra e dovrebbe comparire. Ora premete, in NetBeans il pulsante subito a destra del PLAY verde (il triangolo verde). E’ una icona con un triangolo verde anch’esso su un pezzo di pagina con un breakpoint rosso. Ora siete pronti ad entrare nel debug nella pagina. Tornate su Firefox e ricaricate la pagina con F5. Vedrete che la pagina rimarrà in caricamento, mentre su NetBeans apparirà una riga verde nel codice. Quella è la riga che segnala quale punto del codice state eseguendo. Per procedere passo-passo non vi basterà fare altro che premente F7 o F8 mentre per saltare al breakpoint che avete messo precedentemente (la riga in rosso) basterà premere il tasto F4. Nella parte inferiore di netbeans, sotto il codice, troverete varie linguette contenenti variabili, breackpoint, funzioni e quant’altro venga utilizzato nel codice debuggato fino a quel punto. Passando con il mouse sulle variabili del codice potrete vedere che esce un tooltip con all’interno il contenuto ed il tipo di variabile utilizzato.

Per fermare il tutto basta semplicemente premere su NetBeans il quadrato rosso in alto.

Ora sta a voi saper debuggare! 😉

Bye Bye 😀

VN:F [1.9.22_1171]
Rating: 9.3/10 (3 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Pillole di PHP - Come debuggare con NetBeans e Xdebug, 9.3 out of 10 based on 3 ratings

Tags: , , , , , , ,

Category: Informatica

About the Author ()

Leave a Reply