Eclipse: Instalar debugger XDebug o Zend Debugger
Debuggers PHP para Eclipse
Lo que hemos visto hasta ahora, bien lo puedes hacer con cualquier editor. Hemos creado un proyecto, añadido un archivo php, le hemos añadido código html y php y con la ayuda de xampp hemos visto el resultado final en el navegador que lleva incorporado Eclipse. Sin embargo, y es donde aumenta la importancia de todo esto, ahora nos disponemos a depurar el código que acabamos de hacer.
Si navegas un poco por los menús (Run -> Debug configuration) verás que se muestran dos debugger que son muy utilizados:
- Zend Debugger
- XDebug
Zend Debugger - Instalación
Como has visto hasta ahora, hemos seguido unos pasos para entender la configuración de Eclipse desde cero, sin embargo, desde la misma página de Zend Debugger puedes descargar Eclipse+PDT+Zend Debugger incluido. PDT (PHP Development Tools). Enlace: http://downloads.zend.com/pdt/all-in-one/. Como puedes observar te lleva a una página All-in-one (todo en uno). Yo descargo el archivo para Windows 7 a 32 bits: pdt-2.1.0-win32-x86.zip. Compruebo que la versión de Eclipse que lleva es una versión anterior (GALILEO) a la de este tutorial. GALILEO es la versión 3.5 de Eclipse mientras que INDIGO es la 3.7.
Como ya dije antes, yo no voy a usar un "todo en uno" ni ahora tampoco, así que si quisiera instalar en nuestra versión de Eclipse el plugin Zend Debugger, iremos como siempre al menú Help -> Install New Software y en la caja de texto pondremos la siguiente URL: http://downloads.zend.com/pdt y pulsaremos enter:
Y el proceso de instalación es el mismo de siempre. Yo no lo voy a instalar para este artículo, voy a probar otro debugger que no he usado y así lo conozco a la vez que tú:
XDebug - Instalación
XAMPP ya viene con XDebug, pero voy a actualizarlo. Antes de nada, echa un vistazo a la fecha de este artículo, estoy usando xampp 1.7.4, comento esto porque en futuras o anteriores versiones tal vez sea la configuración un poco diferente. Su página web (.com o .org) es la siguiente: http://xdebug.com/. Lo primero que veo es que está actualizado y que acaba de salir una nueva versión corrigiendo varios bugs. Voy a descargar la librería. Si vas a la zona de descarga, a la última versión, verás que puedes descargar varios archivos. Esto es según esta web para que XDebug pueda funcionar según tu versíón de PHP. Miro mi XAMPP y voy al menú php info y veo que mi versión php es: 5.3.5, que el compilador es Visual C++ 6.0 y además veo en PHP Extension Build el valor API20090626,TS,VC6 así que por estos motivos descargo el archivo: PHP 5.3 VC6 TS (32 bit). TS son las siglas de Thread Safe.
Si tienes ejecutando XAMPP, detén el servidor. Ahora me voy a C:\xampp\php\ext
y veo que ya existe un archivo php_xdebug.dll. Miro sus propiedades y veo que es una versión anterior a la que acabo de descargar pero como no quiero tener problemas si la elimino, lo que hago es cambiarle la extensión y a la librería recién descargada la renombro como php_xdebug.dll y la dejo ahí en C:\xampp\php\ext
.
Ahora sólo queda configurar el archivo php.ini. Este archivo está en C:\xampp\php
, ábrelo y busca XDebug. Encontrarás lo siguiente:
[XDebug]
;zend_extension = "\xampp\php\ext\php_xdebug.dll"
Ahora ya sabes por qué he renombrado la librería que descargué de XDebug. Quito el comentario y lo dejo así:
[XDebug]
zend_extension = "\xampp\php\ext\php_xdebug.dll"
Si te fijas, las siguientes lineas en el archivo php.ini son relacionadas con XDebug. Puedes ver que aunque en inglés está todo bien explicado. Yo voy a descomentar y/o modificar lo siguiente: (para menor complejidad puedes añadirlo al final aunque cuesta muy poco buscarlo)
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "\xampp\tmp"
Guardo el archivo y reinicio Apache desde el botón. Si voy a xampp y a info php busco y veo lo siguiente:
xdebug support enabled
Version 2.1.2
También, echando un vistazo rápido al inicio del informe puedes ver lo siguiente:
Y además tienes una tabla con todos los parámetros que aparecían en php.ini. Si por ejemplo comentas la linea zend_extension verás que el dato anterior desaparece. Parece que está todo correcto. Hemos conseguido instalar correctamente el depurador XDebug, en el siguiente artículo veremos cómo configurar a Eclipse y "decirle" cuál es el depurador.