Come installare xDebug sul tuo server MAMP per fare il debug di PHP

XDEBUG con MAMP

Scritto il 29 Gennaio 2017
Usare Xdebug con MAMP quando lavori in locale

Questo articolo spiega come far funzionare xDebug con MAMP. xDebug è un’estensione che ci aiuta nel debug dei nostri script in PHP ed è incluso nelle installazioni di MAMP (anche quella free), ma di default non abilitato. MAMP è un’applicazione per installare sul nostro computer un server web completo di: Apache, PHP e MySql. Con MAMP creare il nostro sever web in locale richiede pochi secondi senza nessuna configurazione, funziona “out of the box” ed è gratuito. Ma se MAMP non richiede configurazione così non è altrettanto per far funzionare xDebug.

Perchè configurare xDebug con MAMP ? Io l’ho usato per debuggare PHP usando un semplice editor come SublimeText.

Per abilitare xDebug bisogna modificare il file php.ini della versione di php che è in esecuzione col nostro server MAMP. Possiamo vedere la versione in esecuzione con phpinfo, voce che troviamo nel menu della pagina principale di MAMP,che è:

http://localhost:8080/MAMP/

mamp phpinfo

Anche dal pannello di controllo di MAMP, cliccando sulle preferenze, possiamo vedere la versione di PHP e anche modificarla.

mamp php version

Una volta identificata la versione di php cerchiamo il relativo file php.ini da modificare. Supponiamo di utilizzare la versione PHP 5.6.24, il file si troverà in: 

C:\MAMP\conf\php5.6.24\php.ini

Apriamo il file con un editor di testo ed aggiungiamo la sezione per xDebug, come segue: 

[xdebug]
zend_extension="\MAMP\bin\php\php5.6.24\ext\php_xdebug.dll"
xdebug.remote_autostart=1
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=dbgp

Fate attenzione al path della dll di xDebug, su Mac OS X il file è xdebug.so ma su windows bisogna cercare php_xdebug.dll, verificate che questo file si trovi nel percorso qui indicato, se così non fosse scrivete il percorso dove avete trovato php_xdebug.dll.

Sempre nel nostro php.ini cercate la riga:

 ;extension=php_xdebug.dll 

e rimuovete il commento (;). La riga deve essere:

 extension=php_xdebug.dll 

Per abilitare le modifiche al php.ini riavviamo il server MAMP. Verifichiamo che xDebug sia ora caricato cliccando su phpInfo dalla home page di MAMP, scorriamo la pagina e in fondo dovremmo trovare la sezione di xDebug con tutte le informazioni ad esso relative.

mamp xdebug informations

Se non trovate la sezione in figura vuole dire che qualcosa non ha funzionato e che xDebug non viene caricato dal server MAMP. Per eventuali problemi o per approfondire leggete la documentazione ufficiale di MAMP.