Cómo depurar PHP con Netbeans y Xdebug

Recientemente intenté ponerme en marcha con Netbeans 6.5 después de haber obtenido una calificación tan alta en la revisión IDE de la revista Smashing. http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/

Mi razón principal para cambiar de Notepad ++ es que me gustaría poder depurar mi código y configurarlo.

He seguido las instrucciones sobre cómo instalar xdebug tanto en el proveedor http://xdebug.org/ como en el sitio web de netbeans. http://www.netbeans.org/kb/docs/php/debugging.html#gettingReady pero fue en vano.

¿Cómo se hace? ¿Alguien más tiene errores de depuración trabajando en netbeans?

(Mi configuración es: Windows XP, servidor Wamp 2.0, PHP 5, Netbeans 6.5.1)

Es importante agregar esta línea en php.ini:

xdebug.idekey="netbeans-xdebug" 

Nota: En NetBeans vaya a Configuración y mire donde está configurado el material de xdebug. Busque esa ID de sesión. En mi caso fue netbeans-xdebug.

hm, para mí, netbeans fue la primera idea que la depuración de php estaba funcionando de la caja.

¿El xdebug se muestra en phpinfo? si lo hace, debería funcionar con la configuración predeterminada. el único que se necesita es:

 xdebug.remote_enable=on 

Entonces, si esto no está habilitado, póngalo en su archivo php.ini, reinicie apache y la eliminación de fallas debería funcionar.

Si no, tendrás que proporcionar más información para que te ayude.

sy

Desde entonces, he encontrado que WAMP, cuando se instala con Mod_rewrite y cURL no puede hacer frente a Xdebug.

Es un error conocido y se bloquea cada vez.

http://phphints.wordpress.com/2008/10/24/wampserver-phpini-settings-for-use-with-xdebugdll-pear-and-silverstripe-cms-framework/

Desafortunadamente, estoy usando estas 2 bibliotecas también.

No es un problema conocido que xdebug presente problemas con curl o mod_rewrite. Los únicos problemas que conozco son con Xdebug en Vista.

Puede ver aquí: http://ruilima.com/2010/11/ambiente_de_desenvolvimento_php_netbeans_xdebug/ está en portugués, pero hay una máquina virtual preconfigurada con Ubuntu 10.10, netbeans, php, mysql, xdebug, lista para usar. echar un vistazo

Descubrí que en Netbeans necesita establecer la ruta webroot en los proyectos para la aplicación / webroot. Si lo haces, la depuración funciona sin problemas.

Si está utilizando xampp en Windows:

Solo necesita abrir su archivo php.ini y cambiar estas dos líneas

 ;xdebug.profiler_enable = 0 ;zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 

dentro

 xdebug.profiler_enable = 1 zend_extension = "C:\xampp\php\ext\php_xdebug.dll" 

(Precaución: si su versión de xampp es antigua, debe descargarla desde http://xdebug.org/download.php , descargar la de 32 bits, incluso su sistema operativo es de 64 bits. Por ejemplo, el nombre de xdebug que ha descargado es php_xdebug-2.2.1 -5.4-vc9.dll . Primero copie php_xdebug-2.2.1-5.4-vc9.dll en el directorio C: \ xampp \ php \ ext \, luego su segunda línea será zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll )

Después de eso, apague apache y comience nuevamente, eso es todo.

Si tiene el problema en el que Apache decide bloquearse cada vez que ejecuta el depurador (que es lo que tenía y es extremadamente molesto). Estoy bastante seguro de que reinstalé xampp y volví a configurar xdebug. Creo que el problema tenía que ver con la instalación de zend-depurador extrañamente en php.ini y no modificando el php.ini correcto.

Finalmente, después de reinstalarlo y restablecerlo, lo conseguí funcionando bien.

Ahora ejecuto un lanzamiento de desarrollo de Netbeans que tiene depuración en red con xdebug, así que lo ejecutamos todo fuera de nuestro servidor de desarrollo y funciona de maravilla.

Buena suerte, no hay particularmente ninguna documentación decente sobre cómo configurar xdebug con net beans.

He tenido problemas ocasionales con NetBeans y XDebug que se deben a una statement de Watch que no está relacionada con el código que se está depurando.

En este caso, el depurador simplemente falla con una excepción de socket.

Retire los relojes si encuentra que esto está causando su problema. ¡En general, creo que XDebug es extremadamente útil!

Sin embargo, me doy cuenta de que esto puede no estar relacionado con el problema que tiene aquí, pero vale la pena tenerlo en cuenta.

encontró la solución del mismo problema en el mismo sitio PHP Netbeans: xdebug se detiene en cada include () o require ()

Bueno, el mal fue, olvidando

 [xdebug] 

como un encabezado de sección en php-ini. Y, por supuesto, “aparque” sus cosas justo antes de que comience otra sección (por ejemplo, [Fecha] o [iconv]), de lo contrario, las colocará en la sección equivocada. (En el comentario djungle de php.ini esto sucede fácilmente).

En mi caso, se trataba de un proceso que se ejecutaba en mi máquina (Windows 7) que usaba el puerto 9000 ya llamado aeagent.exe

Cambié mi configuración de php.ini a “xdebug.remote_port = 9001”, hice el cambio correspondiente en netbeans y luego reinicié Apache. Ahora funciona.

Gracias a la herramienta SysInternals TCPView.

Vaya a http://wiki.netbeans.org/HowToConfigureXDebug . Hay una gran lista de pasos que debe seguir, que podrían ayudarlo.

Pero lo más probable es que solo necesites una nueva versión de xdebug-binary. Vaya a http://xdebug.org/wizard.php para averiguar qué binario necesita y su problema podría ser resuelto.

Cuando ejecuté netbeans en Ubuntu, también me enfrenté a este problema, parece que intenté todas las soluciones encontradas en Internet, pero todo fue en vano.

¡Lo único que finalmente ayudó fue ejecutar netbeans con el comando SUDO! Parece que el usuario normal no tiene permiso para escuchar en el puerto 9000 (o cualquier otro).

 sudo netbeans & 

… y listo, puedo depurar de nuevo! Tal vez te salve un día o dos

Ahora está trabajando después de perder las 3 horas para hacer funcionar xdebug en Windows8 con wamp 2.2 reemplazando las líneas originales debajo de [xdebug] con siguiente

  zend_extension = "c:/wamp/bin/php/php5.3.13/zend_ext/php_xdebug-2.2.0-5.3-vc9.dll" ;make sure path of your own php_xdebug, dll version may vary. [xdebug] xdebug.remote_enable = on xdebug.remote_handler=dbgp xdebug.remote_host=localhost xdebug.remote_port=9000 ;recheck your port number in netbeans [Tools=>options=>php=>debugging there it is: debugging port] xdebug.profiler_enable = on xdebug.profiler_enable_trigger = on xdebug.profiler_output_name = cachegrind.out.%t.%p xdebug.profiler_output_dir = "c:/wamp/tmp" 

Ahora haga clic en el icono de wamp en la barra de tareas y “reiniciar todos los servicios”

Bien … Ahora el paso final >> COMIENCE DE NETBEANS COMO ADMINISTRADOR Holly soul of windows8 Te odio: <

Consulte el documento a continuación para la eliminación remota de errores usando NetBeans. http://stuporglue.org/setting-up-xdebug-with-netbeans-on-windows-with-a-remote-apache-server/