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/

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

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.

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.