2009-12-22 28 views
8

Intento utilizar xdebug con NetBeans para depurar PHP. Comienzo la depuración, y NetBeans espera para siempre una conexión con xdebug. Tengo NetBeans 6.8 (última versión) con el último paquete MAMP instalado en mi mac.¿Por qué xdebug no establece conexión con NetBeans?

Mi php.ini tiene el siguiente aspecto:

[xdebug] 
;zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20060613/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_mode=req 
xdebug.remote_host=localhost 
xdebug.remote_port=9000 

Respuesta

9

Si su php.ini realmente se parece a lo que usted envió, tiene que des-comentar la línea zend_extension (es decir, eliminar el ';' en su iniciando), por lo que Xdebug está realmente cargado.

Luego, asegúrese de que Xdebug esté cargado, llamando al phpinfo() desde un archivo PHP (solo para estar seguro).

Después de eso: ¿Supongo que debería haber algunas opciones para configurar el depurador en netbeans? Si es así, ¿está Netbeans escuchando en el puerto 9000? (El que configura en php.ini)

+0

¿Debo reiniciar todos los servidores después de cambiar php.ini? Comenta esto y comprueba la configuración de NetBeans. El puerto 9000 tiene razón. Pero NetBeans también menciona una ID de sesión: "netbeans-xdebug". ¿Debo proporcionar eso en algún lugar de php.ini? – openfrog

+2

Tendrás que reiniciar Apache (modificaciones a php.ini solo se tienen en cuenta cuando Apache se inicia); para la ID de la sesión, hay una configuración xdebug.idekey (ver http://xdebug.org/docs/remote); no estoy seguro de que haga el truco, pero podría - nunca recordar haberlo hecho; Supongo que el valor predeterminado está bien con Eclipse PDT (suelo usar eclipse PDT y no netbeans) –

10

Por último, he tenido que añadir el valor idekey así:

xdebug.idekey="netbeans-xdebug" 

ahora funciona :-)

+2

Nota: elijo la Respuesta de Pascal MARTIN como la aceptada, porque sin habilitar xdebug al descomentarlo, mi idekey no haría nada de todos modos ;-) (además de que me siento mal al aceptar mi propia respuesta, así que simplemente no lo hago) – openfrog

+0

Gracias por su respuesta de todos modos: ¡esto puede ser útil para otros! –

+0

Espero que :-) probablemente tengas razón, esta idekey está por defecto bien para Eclipse. – openfrog

6

Los siguientes ajustes trabajaron para mí con NetBeans 7.2 en Mountain Lion después de reiniciar Apache:

zend_extension = /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_handler=dbgp 
xdebug.remote_host=127.0.0.1 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
+1

¡esto funcionó para mí! ¡Gracias! +1 – Anil

+0

También cambié el proyecto webroot '(haga clic derecho en el proyecto> propiedades)' a 'app/webroot /', ¡No estoy seguro si esto ayudó, pero lo conseguí! ; D – Anil

+1

¡Un gazillion gracias! – jx12345

1

usuarios de Mac/MAMP: Si ha intentado todo lo anterior y todavía no funciona, reinicie el Mac. Reiniciar los servidores a través de MAMP no es suficiente.

0

trabajaron para mí de esta manera (gracias chicos +1)/O/

<pre> 
zend_extension = "c:\xampp\php\ext\php_xdebug2.dll" 
xdebug.remote_autostart=on 
xdebug.remote_enable=on 
xdebug.remote_enable=1 
xdebug.remote_handler"dbgp" 
xdebug.remote_host="localhost" 
xdebug.remote_port=9000 
xdebug.remote_mode=req 
xdebug.idekey="netbeans-xdebug" 
</pre> 

config:
NetBeans 7.3 - PHP 5.4 - 2.2 - Xdebug XAMPP - win7 (32bits)

1

I utilizó lo siguiente con XAMPP 1.8.2 y NetBeans 7.4 con éxito.

[XDebug] 
zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 
xdebug.idekey="netbeans-xdebug" 
xdebug.profiler_append = 0 
xdebug.profiler_enable = 1 
xdebug.profiler_enable_trigger = 0 
xdebug.profiler_output_dir = "C:\xampp\tmp" 
xdebug.profiler_output_name = "cachegrind.out.%t-%s" 
xdebug.remote_enable = on 
xdebug.remote_enable = 1 
xdebug.remote_handler = "dbgp" 
xdebug.remote_mode=req 
xdebug.remote_host = "localhost" 
xdebug.trace_output_dir = "C:\xampp\tmp" 
0

He leído que Xdebug no funciona con la versión de PHP lo que se incluye con OS X. lo tengo para trabajar mediante la actualización de PHP desde la versión 5.4 a 5.5, utilizando un práctico paquete de php-osx .liip.ch, incluida la extensión xdebug precompilada. Utilice este comando:

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.5 

Tenga en cuenta que esto dejará la instalación de PHP por defecto intacto, pero desactivarlo en httpd.conf. Su nuevo php.ini estará en "/usr/local/php5/lib/php.ini", con el archivo de configuración xdebug en "/usr/local/php5/php.d/50-extension-xdebug.ini".

Configuración: versión de OS X 10.9.2

Fuentes: http://coolestguidesontheplanet.com/upgrade-to-php-5-4-or-5-5-mac-osx-10-8-mountain-lion/

Cuestiones relacionadas