Eclipse y XDEBUG

Cuando desarrollas webs uno de los problemas que a menudo te enfrentas es el intentar averiguar que es lo que esta funcionando mal. Vale que el revisar código es un buen camino, y el forzar impresión de mensajes y variables también, pero, no nos engañemos: no hay nada como seguir las instrucciones paso a paso, pudiendo preguntar por el contenido de las variables; vamos, lo que se conoce habitualmente por “debugar”; y eso lo podemos hacer con XDEBUG.

XDEBUG esta pensado para actuar sobre un servidor de desarrollo y te permite interactuar con el funcionamiento del programa programando paradas. Hay distintas configuraciones de XDEBUG, ya que permite trabajar tanto con servidores locales como cono con servidores remotos; nosotros nos conformaremos con hacer una instalación local.

La instalación la haremos sobre XAMPP, por lo que ya debería estar instalado; si no fuera así, se puede descargar desde :

https://netix.dl.sourceforge.net/project/xampp/XAMPP%20Windows/7.0.13/xampp-win32-7.0.13-1-VC14-installer.exe

y su instalación es muy simple, de cualquier forma, podéis seguir el tutorial que publiqué acerca de como configurar un equipo para desarrollo

Instalando XDEBUG

Lo primero, nos dirigimos a la pagina correspondiente para descargar la ultima versión. En estos momento, la versión es la 2.5.0 y se descarga de

https://xdebug.org/download.php

Pero… la forma mas segura de seguir con la instalación de XDEBUG es utilizar un analizador de phpInfo() que nos facilitan en su web; para ello, abrimos una ventana de linea de comando en windows y escribimos:

Solo

php    -i    >> phpinfo

Con eso conseguimos volcar la salida del comando en un fichero que podemos abrir con el Bloc de notas

Tenéis que ver en que directorio lo habéis dejado, y que es en el mismo en el que estabais al ejecutar el comando; si no habéis cambiado de directorio, será

c:\Usuarios\<vuestro usuario>

Ante la duda, podéis ejecutar a continuación, y desde el mismo sitio en el que os encontréis:

notepad phpinfo

y se os abrirá la ventana de Notepad con el fichero cargado; algo como esto:

Si ahora hacéis un Ctre-e para seleccionarlo todo, y un Ctrl-c para copiarlo, podéis ir a la pagina de XDebug

https://xdebug.org/wizard.php

Y en la pantalla que os aparece, pegais el contenido del bloc de notas

 

Como respuesta, recibis una pantalla con información acerca de vuestra instalación, y el modulo XDebug que tenéis que descargar

Pues eso, descargais el módulo que os indica, lo movéis a la carpeta que dice y editais el fichero php.ini que indica.

 Configurando XDEBUG

Realmente, si vais a utilizar XDEBUG desde Eclipse, deberíais cuidar un poco mas la configuración de php.ini; os paso a indicar como esta mi php.ini

  1. Esta linea contiene los valores que habéis obtenido anteriormente en la descarga de la dll, y que es la ruta completa de donde habéis dejado el fichero descargado.
  2. Normalmente en Window 7/10 no influye…pero no cuesta nada ponerlo
  3. Aquí debéis indicar el nombre que le habéis dado a vuestro servidor; normalmente será “localhost”, pero si para ejecutar vuestro proyecto habéis creado un servidor virtual (ver Eclipse y Apache), entonces deberéis indicar el nombre asignado.
  4. El puerto en que normalmente trabaja XDebug es el 9000, pero… si tenéis Aptana instalado, quizás necesitáis poner otro; debe coincidir con el que luego indiqueis en Eclipse
  5. El protocolo de comunicaciones que se va a utilizar ; será “dbpg“, pero indicarlo sin comillas para las ultimas versiones de PHP

Ya podeis reiniciar Apache para que tome los cambios.

Configurando Eclipse

Ahora nos toca abrir Eclipse, y ya, de paso, si no teneis ningun proyecto PHP, podeis crear uno y añadirle una pagina PHP que haga cualquier cosa, para que podais ver en accion el XDebug

Vamos a Window->Preferences

En Preferencias debemos seleccionar PHP->Servers

Si lo teneis todo bien instalado, y ya habeis probado ejecutar alguna pagina PHP, ya deberiais tener una linea con el servidor.

Lo primero que debemos asegurarnos es que el nombre del servidor que figura en la URL (en mi caso proyectos.local) es exactamente el mismo que habeis indicado en el PHP.ini

Podemos pulsar en Edit para ver la configuración. En la primera pestaña

no debería ser necesario modificar nada, pasamos a la pantalla de “Debugger”

y deberíamos indicar como Debugger: XDebug, y en el puerto, el que hayamos indicado en PHP.ini

Revisamos el contenido de PHP->Debug->Debuggers

y pulsamos en XDebug y “Configure“:

Para asegurarnos que el puerto indicado es el correcto.

El paso siguiente es cerrar las ventanas de preferencias, ir a “Explorador de proyectos, situarnos con el ratón encima de la pagina PHP que hemos hecho para probar y con el botón derecho de ratón seleccionamos :

Y, como siempre, en la ventana que nos aparece revisamos que todo este bien:

En la primera pestaña:

En la segunda pestaña:

Pulsamos en “Debug” y tras unos segundos de duda, Eclipse nos indicará que quiere abrir la perspectiva Debug,

Cosa que aceptaremos muy alegres, y veremos como aparece la pantalla de Debug, con la pagina detenida antes de ejecutar la primera instrucción:

Próximamente, revisaremos las posibilidades de XDebug. De momento, creo que con esto y vuestra imaginación, podréis hacer muuuuchas cosas.

Acerca de Miguel Garcia

Programador, Desarrollador web, Formador en distintas areas de informatica y director de equipos multidisciplinares.
Esta entrada fue publicada en Desarrollo Web, Formacion, PHP y MySQL/MariaDB y etiquetada , , , . Guarda el enlace permanente.

Deja un comentario