> Manuales > Taller de PHP

La extensión de PHP Zend Debugger sirve para darle a nuestro servidor capacidades de debugging: hacer debug de aplicaciones PHP en el servidor.

Uno de los pasos para proveer a nuestro servidor de PHP la posibilidad de hacer debug de aplicaciones creadas con PHP es instalar el Zend Debugger, una extensión para PHP que podemos obtener de manera gratuita. En este artículo veremos paso a paso la receta para conseguir instalar Zend Debugger.

El Zend Debugger lo vamos a utilizar en conjunto con el IDE para desarrollo de aplicaciones en PHP PDT, que es una distribución de Eclipse preparada con todos los módulos para poder programar en PHP. Anteriormente ya publicamos un artículo sobre cómo instalar PDT, que deberemos leer también en algún momento.

Primero, veamos el lugar donde conseguir el Zend Debugger: http://downloads.zend.com/pdt/server-debugger/

En esa página podremos ver varias distribuciones del programa para debug en el servidor de aplicaciones PHP. Tenemos que escoger la que sea adecuada para nuestro sistema operativo.

En mi caso, lo he instalado sobre Windows, en mi servidor para desarrollo local. He descargado entonces la primera opción ZendDebugger-5.2.14-cygwin_nt-i386.zip. Es un archivo comprimido que, si abrimos, veremos que tiene varias carpetas, con el debugger para varias versiones de PHP distintas. Tenemos que escoger la que nos corresponda conforme al servidor PHP que tengamos instalado. Por ejemplo, para mi PHP 5.2.6 tengo que utilizar la carpeta 5_2_x_comp.

Dentro hay un DLL, en el caso de Windows, que se tiene que copiar y pegar en el directorio donde están las extensiones de PHP del servidor. Este directorio lo podemos ver mediante un phpinfo(), que muestra la información completa sobre la instalación de nuestro PHP.

Para hacer este phpinfo(), si no lo sabes, tienes que crear un archivo en el directorio de publicación de páginas de tu servidor con el siguiente código:

<?php
phpinfo();
?>


Luego ejecutas ese archivo desde tu servidor local. Algo como http://localhost/phpinfo.php

Verás, entre la información que contiene, algo como esto:


Nota: Por facilitarme la vida, en mi ordenador local he instalado PHP por medio de Wamp Server, que instala de una vez todo lo necesario para trabajar con PHP. Tenemos descrito este proceso en nuestro artículo Instalar PHP 5 fácilmente.

Así pues, en el paso anterior hemos debido copiar el archivo ZendDebugger.dll (en el caso de Windows) en el directorio de extensiones de PHP que tengamos marcado al ver las características de nuestro PHP con phpinfo(). En mi caso he colocado el archivo dll en el directorio c:/wamp/bin/php/php5.2.6/ext/

El siguiente paso será colocar en el php.ini unas líneas para iniciar el Zend Debugger cuando se trabaje con PHP. Esas líneas de código las podemos ver en el archivo descargado del Zend Debugger, en el README.TXT.

El archivo php.ini de nuestro PHP también se puede localizar mediante el phpinfo(), donde aparece en la siguiente imagen:


De todos modos, para que se vea claro, las líneas que debes colocar en el php.ini, son las siguientes:

[Zend]
zend_extension_ts=[AQUÍ LA RUTA COMPLETA A LA DLL]
zend_debugger.allow_hosts=[AQUÍ LAS IPS DONDE DESEAMOS PERMITIR EL DEBUG]
zend_debugger.expose_remotely=always


Las líneas de configuración las podemos colocar en cualquier lugar del archivo php.ini, por ejemplo abajo del todo. Deberías personalizarlas para tu caso y quedaría con algo como esto:

[Zend]
zend_extension_ts=c:/wamp/bin/php/php5.2.6/ext/ZendDebugger.dll
zend_debugger.allow_hosts=127.0.0.1, 192.168.0.136
zend_debugger.expose_remotely=always


Como se puede ver, he colocado la ruta completa a la librería del Zend Debugger y luego una lista de Ips desde la que permitimos las conexiones para debug. La IP 127.0.0.1 es la dirección IP de localhost, que siempre es esa para todos los equipos. Es para decirle que permita debug desde el propio servidor donde tenemos PHP. Y luego, para asegurarme que funciona, he colocado 192.168.0.136 que es la IP de mi ordenador en mi red local, donde tengo el servidor PHP.

Luego tenemos que hacer, según el README.TXT, otro paso, que es colocar el archivo dummy.php, que viene en el fichero comprimido que hemos descargado antes, en la carpeta raíz de publicación del servidor web. Este paso yo me lo salté y aun así me funcionó, pero bueno.

En el PHP.ini nos recomiendan, según una documentación que he leído de PDT, alterar un par de configuraciones. Estas las comento por si acaso pudieran ser de utilidad o necesarias para nuestros casos, pero también me las he saltado y he podido hacer el debug PHP con PDT sin problemas.

implicit_flush = On
output_buffering = 0


Una vez hemos realizado estos pasos, debemos reiniciar el servidor PHP, es decir, reiniciar Apache o lo que tengamos como servidor, para que los cambios realizados en el php.ini se pongan en marcha.

Después de reiniciar el servidor debemos fijarnos que el Zend Debugger está funcionando, que podemos verlo en el phpinfo(). Debe aparecer un texto como este:


Si no aparece ese texto, es que no está funcionando el Zend Debugger, por lo que algo hemos debido hacer mal en la instalación. Revisar los distintos pasos, fijándonos bien en el directorio donde hemos colocado la extensión de Zend Debugger (la ZendDebugger.dll en el caso de Windows) y la ruta de la extensión escrita en el php.ini.

Todas estas explicaciones te deben haber ayudado a instalar esta extensión para depuración de aplicaciones web en PHP, pero si aun así sigues con dudas, te recomendamos ver el vídeo Instalación de Zend Debugger, donde podrás ver el proceso en vivo. Además, si quieres dar el siguiente paso y utilizar el Zend Debugger para depuración de aplicaciones web, seguramente te interesará también el vídeo tutorial Debug en PHP con Eclipse + PDT + Zend Debugger.

Miguel Angel Alvarez

Miguel es fundador de DesarrolloWeb.com y la plataforma de formación online Escu...

Manual