¿Hay un depurador interactivo para php como el depurador de Ruby?


9

Vi el Creating a weblog in 15 minutes with Rails 2 y después de 9 minutos en el video muestra el depurador interactivo de ruby, que le permite llamar a funciones/métodos desde un script en ejecución.

Esto va más allá de los puntos de interrupción y se ve muy útil.

¿Hay algo para PHP que proporcione una funcionalidad similar?

+3

¿Quiere decir que no quiere usar el método del eco honrado ...? ¡Herejía! 22 feb. 092009-02-22 15:03:55

2

Aunque Milen's answer es la única correcta alrededor del año 2009, y Xdebug sigue siendo una herramienta útil, su uso se requiere volver a compilar el PHP o editar la configuración de php.ini tiempo de ejecución para cargarlo como un objeto compartido. También significa usar una aplicación cliente específica que admita su protocolo de red, como un IDE como PhpStorm.

Una alternativa es phpdbg, que es un depurador interactivo que ships with PHP core versions 5.6 and later y puede depurar scripts PHP escritos para ajustarse a PHP 5.4 o posterior.

Su uso es simple:

phpdbg php_script_i_want_to_debug.php 

Una vez en el depurador, tipo help para acceder al menú de ayuda.

Si aún no tiene phpdbg en su sistema, puede ser porque su PHP se configuró sin la opción --enable-phpdbg. Puede:

  1. recompilar el PHP, asegurándose de añadir --enable-phpdbg cuando se ejecuta ./configure (esto simplemente también construir el phpdbg binario), o
  2. descargar el código fuente phpdbg forma independiente y compilarlo en contra de su PHP instalado (suponiendo que tiene la fuente PHP disponible). Las instrucciones para hacerlo, aunque dispersas, son here.

8

Instale xdebug y luego utilice uno de los clientes de depuración mencionados here.