Debuguear en php con xdebug

Para debuguear con php lo hacemos sencillamente con la librería xdebug. Si usas xampp o cualquiera de estos paquetes, seguro ya la tienes ahí aunque este desactivada, si no te la descargas del enlace. Para activarlo vamos al archivo php.ini a la línea [XDebug] y habilitamos los siguientes parámetros (quitamos las ; que significa comentario o pegamos nuevas lineas).

El php.ini

El zend_extension es obviamente donde se encuentra la dll de dicho archivo asi que si no usas xampp debes especificarlo ahí. El php.ini quedaría en la seccion xdebug tal que asi:

[XDebug]
zend_extension = "C:\xampp\php\ext\php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"
xdebug.profiler_enable=1
xdebug.profiler_output_dir="\xampp\tmp"

Guardamos los cambios, reiniciamos el servidor y ya debería estar funcionando cosa que comprobaremos con un phpinfo() en nuestro archivo index.php (bueno puede ser cualquiera ), en la que se puede apreciar como aparece una 3ra línea con XDebug y la versión. Si algo no funciona o hay incompatibilidades esta 3ra linea no aparecería.

phpinfo mostrando el xdebug

phpinfo mostrando el xdebug

Si todo esta bien hay que configurar tu ide favorito que básicamente será especificarle el tipo de debugger que quieres usar. Con eclipse seria click derecho sobre el proyecto -> properties ->PHP Debug  y donde dice php debugger debes especificar el xdebug. Con Netbeans es muy similar pero como estoy en plan vago…

configurando xdebug en eclipse

Configurando xdebug en eclipse

El otro parámetro importante es el servidor. En este caso en vez de localhost, de llama pef.local, y / prueba es donde esta el sitio( dentro de ese server) que quieres debugguear, es algo asi como un subdominio.

Para debuguear un sitio con usuario y contraseña

Ir a index.php le das a play (run index), se abre el navegador de eclipse, metes usuario, password y aceptar.

Luego vas la vista de debug y le das a f11 en el archivo deseado. A partir de ahi es como en java donde quieres metes un breakpoint, y vas dando f5,f6 para avanzar.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s