Cómo depurar una aplicación PHP?

¿Cuál es la mejor manera de depurar una aplicación PHP ya que podemos depurar la aplicación ASP.NET con Visual Studio?

Estoy usando IDE Eclipse PDT , que puede usar la extensión PHP Xdebug para proporcionar funcionalidades de depuración, algo así como Visual Studio (un poco menos potente, tal vez), que le da la capacidad de hacer cosas como:

  • paso a paso
  • entrar / salir de funciones / métodos
  • ver el contenido de las variables
  • tener un rastro de stack que muestre dónde estás

Es muy bueno depurar grandes progtwigs, especialmente aquellos que no escribiste, para entender cómo funcionan (o no ^^)

También puede usar la extensión “zend debugger”; pero nunca he probado este.

Incluso sin utilizar un depurador como el proporcionado por PDT, Xdebug es una buena extensión para tener en un servidor de desarrollo: da buenos rastreos de stack cuando hay un error / excepción, le permite obtener una salida de var_dump buen aspecto var_dump ..

También se puede usar para obtener datos de creación de perfiles, que puede visualizar con herramientas como KCacheGrind , WinCacheGrind o Webgrind .

Pero tenga en cuenta que está perjudicando el rendimiento, por lo que definitivamente no debe instalarse en un servidor de producción.

También puede ver estas preguntas que están cerca de la suya:

  • Depuración de código PHP
  • Paso a paso de depuración de PHP en Windows

La consola de PHP es buena si desea depurar proyectos web de WEB 2.0 (AJAX).

PHPEd es ideal para esto, pero debe pagarlo.

xdebug funciona, pero debes instalarlo en el servidor. No lo he usado, pero parece tener una buena reputación.

Algunos IDE (viene a la mente Aptana / Eclipse + PHP) pueden interactuar con xdebug.

XDebug con Eclipse PDT es lo mejor que he visto. Aquí hay un tutorial sobre cómo configurar esto:

http://devzone.zend.com/article/2930-Debugging-PHP-applications-with-xdebug

NetBeans también tiene capacidades de depuración. Desde el sitio web:

Puede depurar scripts y páginas web, ya sea local o remotamente. La integración del depurador NetBeans PHP le permite mapear las rutas del servidor a rutas locales para habilitar la depuración remota.

Utilizo el depurador Zend y después de haber tenido problemas para ponerlo en funcionamiento (¡era una configuración remota con el servidor y la máquina de desarrollo, tanto virtual!) – hizo una gran diferencia en mi eficiencia de desarrollo. Si está convirtiendo desde Visual Studio, encontrará bastantes cosas diferentes e incluso difíciles. Merece la pena seguir y dominar lo que sea, ahora puedo establecer puntos de interrupción en páginas arbitrarias y navegar hacia ellos como el usuario, detener y examinar a los locales, etc. y luego seguir lo que sucede. Simplemente ahora puedo encontrar errores mientras que sin él estaba adivinando. También vea Desarrollar con PHP y Eclipse (Galileo) que encontré útil.

La tormenta PHP es una buena de JetBrains.