Come tanti di voi sapranno esistono moltissimi linguaggi di programmazione, alcuni più semplici di altri ma che condividono tutti una piaga: i bug!

Con tutta la nostra buona volontà non possiamo mai evitare di commettere un errore di sintassi o di logica. Questi ultimi sono i più infidi poiché non sempre sono facili da individuare e certe volte si presentano solo in determinate condizioni. Per chi ha esperienza nel campo della programmazione anche a livello amatoriale, sa che per scovare un bug il migliore alleato oltre alla nostra esperienza è il Debugger!

Per qualche tempo un linguaggio come il PHP non ha avuto questo strumento per aiutare i programmatori che in sua assenza non potevo che riempire i propri programmi con innumerevoli istruzioni “echo” e sfruttare al massimo la loro esperienza e capacità di logica. Per nostra fortuna, le cose sono cambiate. Nel panorama della programmazione PHP hanno fatto la loro comparsa strumenti molto validi che rendono il lavoro dello sviluppo più semplice. Dei tanti Debugger che sono in circolazione, fra gratuiti e non, prenderò in considerazione quello che uso sempre ovvero XDebug e vedremo come configurare NETBEANS per utilizzarlo.

È uno strumento formidabile non solo per la semplicità di installazione ma anche per la grande versatilità. Si posso eseguire debug anche da remoto basta solo avere la pazienza di configurarlo

Di NETBEANS forse molti di voi hanno sentito parlare visto che è uno degli IDE più famosi per Java ma come penso saprete lo si può usare praticamente per tutto, basta installare il giusto plug-in.

NETBEANS supporta XDebug fra le configurazioni predefinite e le impostazioni da modificare su di esso sono molto poche.

Per prima cosa procuratevi la giusta versione di XDebug dal sito…già ma qual è la versione corretta che si deve installare?

Ricordiamo che X-Debug è disponibile anche per Linux oltre che Windows e per le architetture a 64bit…insomma è un po’ complicato ma nel sito ufficiale c’è uno strumento che vi lascerà a bocca aperta. Cliccate su questo link che vi rimanda a una pagine dove vi viene chiesto di incollare quello che viene mostrato dal phpinfo().

Il gioco è semplice: prima cosa create una pagina in PHP che contiene

<?php

phpinfo();

?>

Aprite questa pagina e vedrete che in essa è presente tutto quello che riguarda la versione di PHP che avete installato nel vostro sistema.

Copiate tutto e incollatelo nel riquadro della pagina del sito di X-Debug e cliccate sul pulsante “Analyse my phpinfo() output

Dopo qualche istante vedrete che vi sarà indicata la versione da scaricare e le istruzioni per configurare il vostro Debugger!

Io vi mostrerò il metodo che ho usato per configurare XDebug su un server CentOS 6.1 con PHP 5.2 ma il procedimento è analogo a altre distribuzioni.

Scaricare le librerie xdebug-2.1.3.tgz (nel vostro caso potrebbero avere un numero di versione diverso ma non cambia nulla nella sostanza) in una cartella del vostro server.

Dopo avere scaricato le librerie bisogna estrarre il contenuto: aprite un terminale e con il comando tar -xvzf xdebug-2.1.3.tgz estraete il contenuto del file compresso

Spostatevi nella cartella che contiene i sorgenti con il comando cd xdebug-2.1.3 e digitate phpize e poi invio. Attenzione: per eseguire phpize dovete avere installato sul vostro server il pacchetto php-devel, se non è installato allora provvedete a farlo altrimenti vi verrà mostrato un errore.

Quando phpize avrà finito si dovrà compilare i sorgenti così come è consuetudine per chi ha esperienza nel mondo Linux: eseguire in ordine ./configure e make.

Ora le vostre librerie sono compilate e si trovano nella sottocartella modules, per usarle le dobbiamo copiare nel giusto percorso e quindi digiteremo cp modules/xdebug.so /usr/lib64/php/modules per i server a 64bit cp modules/xdebug.so /usr/lib/php/modules per i server a 32bit.

A questo punto dobbiamo solo inserire alcune righe nel file php.ini per far si che il server possa usare il nostro Debugger.

Aprite il file /etc/php.ini con il vostro editor di testi preferito assicurandovi di avere i diritti di amministrazione e aggiungete in coda al file nella sezione [PHP] le seguenti righe:

; moduolo per il debug

    zend_extension = /usr/lib/php/modules/xdebug.so

    xdebug.remote_enable=on

;IP della macchina dove si trova NetBeans

    xdebug.remote_host=localhost

Se NETBEANS non è nella stessa macchina del server allora inserire l’IP della macchina client in cui è installato.

Salvate e riavviate il server Apache (in CentOS il comando è /etc/init.d/httpd restart) e se tutto è andato a buon fine se riaprite la pagine con phpinfo() e cercate xdebug dovreste vedere una nuova tabellina che contiene i dati del Debugger.

Ora manca solo fare un test.

Aprite NETBEANS e create un nuovo progetto in PHP e inserite un po’ di codice anche banale come

<?php

$a=0;

$a=$a+1;

?>

Usate il comando debug e vedrete che l’esecuzione del codice sarà bloccata alla prima riga e potrete eseguire le istruzioni step by step!

NETBEANS mette a disposizione molti strumenti per il debug come la possibilità di vedere il contenuto di tutte le variabili della pagina caricata e la possibilità di creare dei watches ma sono tutti strumenti molto semplici da usare e quindi non mi dilungo più di tanto.

Ora che il vostro personale sistema di sviluppo in PHP è ultimato non vi resta che iniziare a dare sfogo alla vostra immaginazione.

Buon lavoro!