Debugar PHP con NetBeans y XCode

Debugar es una de las primeras cosas que aprendemos cuando comenzamos a desarrollar y nadie en su sano juicio es capaz de poner en duda la importancia de esta tarea.

Por otro lado, es increíble la cantidad de desarrolladores para los que si bien en otros lenguajes utilizar un programa para debugar forma parte de su día a día, cuando programan en php lo hacen de una forma un tanto rudimentaria valiéndose de funciones cómo echo(), print_f(), die()  u otras que les ayuden a mostrar en el navegador lo que deberían ver en la herramienta de debug.

Configurar XDebug en Netbeans

Lo reconozco, yo también lo he hecho durante largos periodos de tiempo, y por ese motivo conozco de primera mano la gran diferencia que existe entre utilizar una herramienta adecuada o no hacerlo. Lo peor de todo es que solucionar esta situación es muy sencillo, y basta con un poco de disciplina y 15 minutos de configuración.

Aprovechando que tengo un entorno de desarrollo relativamente nuevo, vamos a ver como se configura. El software que utilizo es:

  • Ubuntu 18.04.1 LTS
  • Apache 2.4.29
  • PHP 7.2.10
  • NetBeans 8.2
  • Mozilla Firefox

Vamos a dar por hecho que ya tenemos este software instalado y nos centraremos en instalar y configurar XDebug.

Configuración del servidor

El primer paso es comprobar si tenemos XDebug instalado, por defecto no suele ser así. Esta comprobación la podemos hacer mediante phpinfo(). Si no está instalado lo instalamos:

sudo apt-get install php-xdebug

Buscamos el archivo de configuración de la extensión, en mi caso /etc/php/7.2/apache2/conf.d/20-xdebug.ini. Lo editamos:

sudo vim /etc/php/7.2/apache2/conf.d/20-xdebug.ini

El archivo debería quedar así:

zend_extension=xdebug.so
xdebug.profiler_enable = On
xdebug.remote_enable=On
xdebug.remote_host="localhost"
xdebug.remote_port=9000
xdebug.remote_handler="dbgp"

La primera línea que habilita la extensión de php ya deberíais tenerla, así que solo tendríamos que agregar el resto. Prestad especial atención al puerto, pues tendrá que coincidir con el que especifiquemos en NetBeans.

Ya sólo nos queda reiniciar Apache y pasaremos a configurar NetBeans:

sudo service apache2 restart

Configuración de NetBeans

Ya casi estamos. Abrimos la configuración de NetBeans mediante los menús «Tools» -> «Options». Accedemos a la configuración de PHP y en la pestaña «Debugging» nos aseguramos de que hemos especifiaco el mismo puerto que en la configuración de XDebug para PHP, en nuestro caso el puerto 9000.

Configurar XDebug en Netbeans

Guardamos la configuración, salimos y con esto ya tenemos toda la configuración relativa a XDebug hecha.

La última configuración necesaria para poder debugar se realiza en la configuración de cada proyecto de Netbeans. Para acceder a ella debemos tener visible la ventana de proyectos, botón derecho sobre el propio proyecto y seleccionamos la opción «Properties»del menú.

Configurar XDebug en Netbeans

En la venta de configuración, accederemos al menú «Run Configuration» y nos aseguraremos que los campos «Project URL» y «Index File» están correctamente configurados.

Conclusión

Una configuración muy sencilla que nos ahorrará muchos quebraderos de cabeza. ¿Y tú cómo debugas cuando programas en PHP?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *