Debugar PHP en Ubuntu con Eclipse PDT y XDebug

Disclaimers

  1. Esta es una mini-guía escrita por un desarrollador y debugador de PHP novato para desarrolladores y debugadores de PHP novatos: expertos abstenerse 😉
  2. Gran parte del conocimiento está extraído del artículo “Debugging PHP applications with xdebug” escrito por Cal Evans.
  3. Las versiones empleadas son:
    • $ lsb_release -a: Ubuntu 10.04.3 LTS
    • $ java -version: 1.6.0_20 OpenJDK Runtime Environment (IcedTea6 1.9.10)
    • $ php -v: PHP 5.3.2 Zend Engine v2.3.0
    • $ apache2 -v: Apache/2.2.14

Antes de empezar

Instalar:

  • JDK o OpenJDK: $ sudo apt-get install openjdk-6-jre
  • Apache HTTP Server: $ sudo apt-get install apache2
  • PHP 5: $ sudo apt-get install php5 libapache2-mod-php5
  • Reiniciar Apache: $ sudo /etc/init.d/apache2 restart

Instalar Eclipse PDT

Descargar Eclipse PDT desde la dirección http://www.eclipse.org/pdt/downloads/. En el momento de escribir esta guía las versiones disponibles son Eclipse 3.7.1 y PDT 3.0.2. Descomprimir el archivo en /home/username/workspaces/.

Eclipse PDT

Instalar XDebug

$ sudo apt-get install php5-xdebug

Añadir las siguientes líneas al archivo xdebug.ini$ sudo gedit /etc/php5/conf.d/xdebug.ini

xdebug.remote_enable=On
xdebug.remote_host=”localhost”
xdebug.remote_port=9000
xdebug.remote_handler=”dbgp”

Crear un nuevo proyecto PHP en Eclipse PDT

Abrir Eclipse PDT y crear un nuevo workspace en /home/username/workspaces/debugando/.

Seleccionar File > New > PHP Project.

  • Project name: debugando
  • Directory: /var/www/debugando (si no os permite seleccionar este directorio tendréis que dar permiso a vuestro usuario para poder leer y escribir en él $ sudo chown -Rf username:username /var/www/)

Clicar sobre Finish.

Create Project

Crear un nuevo archivo PHP dentro del proyecto

Seleccionar File > New > PHP File.

  • File Name: index.php

Clicar sobre Finish.

Create File

Editar el archivo index.php.

<?php

$var = 1;

while ($var < 10){
echo $var;
$var ++;
}

Debugar el archivo index.php

Seleccionar Window > Preferences > General > Web Browser.

  • Use external web browser

Botón derecho sobre index.php y seleccionar Debug As > Debug Configurations. En la ventana emergente hacer doble clic sobre PHP Web Applications.

  • Name: Nueva configuración
  • Server Debugger: XDebug
  • File: /debugando/index.php

Clicar sobre Debug. Se abrirá una ventana emergente para lanzar la perspectiva de debug: clicar sobre Remember my decision y sobre Yes.

Avanzar el breakpoint pulsando F6. Podréis ir viendo el valor de la variable $var en la pestaña Variables.

Debugger

Terminar el debug pulsando F8. En vuestro navegador podréis ver el resultado de la ejecución del script PHP.

Browser

Et voilà! Debugar un script PHP con Eclipse PDT y XDebug es tan sencillo como esto o tan complicado como queráis 🙂

One more thing

Nunca está de más instalar Mercurial en vuestro Eclipse:

  • $ sudo apt-get install mercurial
  • En Eclipse, seleccionar Help > Install New Software.
  • Clicar sobre Add.
  • Seleccionar Mercurial Eclipse (deseleccionando Windows Binaries for Mercurial si no estáis en Windows).
  • Clicar sobre Next y seguir las instrucciones de instalación.
Anuncios

2 thoughts on “Debugar PHP en Ubuntu con Eclipse PDT y XDebug

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