Xdebug en MAMP

Loco! Me he vuelto loco para conseguir que funcionara el xdebug en el MAMP para hacer debugging de mi código php en Netbeans. Llevaba tiempo queriendolo instalar pero ni por asomo me habría imaginado que me iba a costar tanto.

Siguiendo las instrucciones de la página de netbeans que explica como instalar xdebug al hacer phpize para compilar el xdebug que genera el archivo xdebug.so siempre me daba el mismo error:

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF
environment variable is set correctly and then rerun this script.

Buscando como alma que lleva al diablo, todas las páginas que encontraba me armaban un cacao de cojones. Hasta me hice una cuenta developer en .mac para descargarme XCode Tools por si fuera eso (lo pone como sugerencia por si no te funciona el make).

En fin, no me entretengo, al final ha sido tan facil como descargarse un xdebug.so ya compilado y utilizarlo en otra carpeta a la que dice el tutorial (osea, nada de lo que dice…).

Despues de mucho buscar llegué a esta página donde había una explicación detallada de como hacer que funcionara xdebug (pero sin suerte para mí como en las anteriores 107). Gracias a San Dios había un enlace a los Komodo Debugger Extensions, que tiene enlaces a la ultima version de xdebug compilada.

Aleluya!! Ya tenía el dichoso archivo sin tener que compilar, saltandome unos cuantos pasos del tutorial. Descargué la última versión para Mac Osx de PHP Remote Debugging de la sección Komodo 5.1 Remote Debugging Packages. Descomprimí ese y había varias carpetas. Cogí el de la versión 5.2 porque rebuscando por google buscando Komodo, encontré esta página donde explica como instalar xdebug en Leopard, es decir lo mismo que estoy explicando yo, menos de donde sacar el xdebug.so compilado.

Una cosa importante es deshabilitar el PHP Zend Optimizer que trae por defecto acivadoel MAMP, así es que desde la ventana de MAMP ya estas tardando en desactivarlo.

En fin, puse el archivo xdebug.so en el directorio “/Applications/MAMP/bin/php5/xdebug” y al final del fichero de configuración de php5 en MAMP “/Applications/MAMP/conf/php5? puse lo siguiente:

; xdebug config for Linux and Mac OS X
zend_extension=/Applications/MAMP/bin/php5/xdebug/xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.idekey=jeffg
xdebug.profiler_enable=1
xdebug.profiler_output_name=xdebug.cachegrind-out.%s.%p

En la entrada “remote_port” es muy importante poner el mismo puerto que está configurado en NetBeans para poder hacer debugging desde el propio IDE. Este se puede cambiar desde las preferencias de NetBeans en la sección PHP, por defecto está a 9000 y para que nos vamos a complicar, yo lo dejé igual.

Una vez hecho esto y habiendo reiniciado MAMP, haciendo un phpinfo() podremos saber si xdebug está bien instalado. Si lo está nos saldrá una linea como esta:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
with Xdebug v2.0.4, Copyright (c) 2002-2008, by Derick Rethans

Cuando se empiece a hacer debugging desde NetBeans en la parte inferior derecha debe aparecer netbeans-xdebug [ running ]. Si aparece algo como netbeans-xdebug [ waiting ] o algo parecido, revisalo todo porque algo tienes mal, seguramente algo en el php.ini está mal escrito.

Espero que ayude a alguien…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *