Aventuras, desventuras y desvaríos de Morris en el mundo

"Whatever you are, the choice is yours, so choose!"

MundoMorris Rss

Configurar el debugger para NetBeans en MAC OS X.

Publicado por admin | Publicado en PHP, Tecnología | Publicado el 10-09-2009

Pues eso que andaba yo estos días buscando una solución para debuggear PHP en mi MAC OS X (Snow Leopard..para ser más concretos :D ) y como ha sido un proceso un poco infierno, dejo aquí unas notas sobre qué es lo que he hecho por si son de ayuda. Decir que me he basado en 2 post geniales y que sin eso hubiera sido imposible. Lo único que yo añado son notas sobre los pasos que no me funcionaron por si a alguien esto le sirve de ayuda.
Y todo empezó en una página sobre cómo configurar el debugger para Symfony pero creo que está bastante bien y sienta un poco las ideas generales, asi que os recomiendo primero su lectura. Además finalmente la configuración de php.ini la he realizado como dice en este artículo.
http://auzigog.com/2009/05/10/setup-symfony-on-mac-os-x-using-mamp/
Las principales instrucciones están en está página
http://www.netbeans.org/kb/docs/php/configure-php-environment-mac-os.html
Todo fue perfecto salvo que me salte la parte de MySqlAdministrator (utilizo o Navicat o PHPMyAdmin) y que no me funcionó lo de compilar el código de Xdebug. Al final y tras investigar encontré que era mejor bajarlo de la siguiente página

En lugar de bajar Xdebug los fuentes y tratar de compilarlo (aunque no me dio ningún error) el so resultante era menor en tamaño que el que se puede encontrar en esta página
http://aspn.activestate.com/ASPN/Downloads/Komodo/RemoteDebugging
El compilado por mí no funcionaba y este si!! Tome como referencia el que había en la carpeta 5.2 (teniendo en cuenta que mi versión de PHP era la 5.2.6)

Así que finalmente la página que me ayudó a resolver mis problemas es
http://debuggable.com/posts/setting-up-xdebug-on-mac-os-x-or-win32-linux:480f4dd6-0240-4a90-8fa1-4e41cbdd56cb
Pero no hice caso de todo lo que había allí, solo para bajar el xdebug.so compilado…

Para comprobar si está configurado se debe ver por ejemplo en phpinfo()
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

Otro TEST que no llego a funcionarme, pero se trataba de algo simple…
1.- Crear un fichero PHP con este código
<?php
$address = ‘127.0.0.1′;
$port = 9000;
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die(‘Unable to bind’);
socket_listen($sock);
$client = socket_accept($sock);
echo “connection established: $client”;
socket_close($client);
socket_close($sock);
?>

En línea de comandos ejecutar
/usr/bin/php dbgtest.php (y tenía que dar como resultado connection established: XXX (pero a mí siempre me daba Unable to bind)