Tag: eclipse
Como hacer debug de PHP
by P-los on Apr.22, 2010, under Tutoriales, Web
Esta ocasión les presento un tutorial para poder debugguear nuestras aplicaciones PHP de manera local. Para ello necesitaremos tener instalado y configurado Apache con PHP en nuestra computadora. Si no lo tienes aún, la manera más sencilla es mediante WAMP, LAMP o MAMP según nuestro sistema operativo.
Requerimos también Eclipse con PDT (PHP Developer Tools). Lo descargamos, y lo desempacamos en un sitio facil de recordar.
Desde la página de XDebug descargamos la versión más reciente, y que corresponda a nuestra versión de PHP instalada, y según si nuestro equipo es de 32 ó 64 bits. De las variantes, utilizaremos la llamada simplemente VC6, y la guardaremos en la carpeta donde está instalado PHP.
Una vez hecho esto, hay que modificar el archivo php.ini para que se tome en cuenta esta nueva extensión, agregando lo siguiente al final del archivo:
[XDebug]
zend_extension_ts="C:\php\php_xdebug-2.0.4-5.2.8.dll"
xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.profiler_enable=1
xdebug.profiler_output_dir="RUTA DE UN DIRECTORIO PARA ARCHIVOS TEMPORALES"
NOTA 1: La ruta de la extensión puede variar según en donde se haya instalado PHP. Para el caso de que estés utilizando WAMP, la ruta será: “C:\wamp\bin\php\php5.3.0\”. Verifica que el nombre del archivo corresponda al que se descargó.
NOTA 2: Para el caso de que se utilice PHP 5.3.0, habrá que cambiar “zend_extension_ts” por “zend_extension”. De lo contrario no funcionará.
Si se tiene instalado Zend Server, hay que deshabilitarlo, ya que entrarán en conflicto si no se hace. Para ello, todas las entradas del mismo archivo php.ini que inicien con “zend.” (sin comillas) hay que convertirlas en comentario agregando un ; al principio:
[Zend]
;zend.install_dir="C:\Program Files\Zend\ZendServer"
;zend.conf_dir="C:\Program Files\Zend\ZendServer\etc\"
;zend.pid_dir="C:\Program Files\Zend\ZendServer\logs"
;zend.temp_dir="C:\Program Files\Zend\ZendServer\tmp"
;zend.log_dir="C:\Program Files\Zend\ZendServer\logs"
;zend.data_dir="C:\Program Files\Zend\ZendServer\data"
;zend.httpd_uid=HTTPD_UID
;zend.httpd_gid=HTTPD_GID
;zend.ini_scandir=cfg
;zend.serial_number=
;zend.user_name=
Ya que esté nuestro archivo listo, lo guardamos y reiniciamos el servidor Apache para que los cambios surtan efecto.
Para verificar que esté todo correcto, veamos la información que hay en nuestro phpinfo, haciendo un archivo .php con lo siguiente:
<?php phpinfo(); ?>
y lo abrimos desde nuestro navegador.
Si al buscar en esta página encontramos los diferentes valores de XDebug, significa que todo va por buen camino.
Ahora configuremos Eclipse.
Abrimos Eclipse, y vamos al menú Window -> Preferences. En el menú de la izquierda, expandimos el apartado de PHP y entramos a Debug. En la parte derecha, la entrada “PHP Debugger” la establecemos en “XDebug”.
Creamos un proyecto con cualquier instrucción de PHP para usarlo como prueba.
Una vez que tengamos algo listo para debugguear, vamos al menú Run -> Debug, y ya estaremos debuggueando nuestro código PHP.
Podemos cambiar la vista del IDE a modo “PHP Debug” para que nos muestre las barras de herramientas y un esquema más apto para esta tarea. Por default, eclipse detendrá la ejecución en la primera línea de php, y se puede cambiar en la ventana de preferencias, en el apartado de php debug que abrimos momentos antes, y quitandole la marca a “Break at first line”.
Todo esto lo he probado en Windows, pero deben ser los mismos principios para aplicarse a mac o linux.
Tomado en parte de: Pablo Viquez Blog