Cómo depurar código PHP Con Visual Studio Code
Para depurar código PHP, utilizaremos la extensión Xdebug, distribuida bajo The PHP License 3, que proporciona un soporte muy completo para la depuración de nuestros scripts.
Instalación de Xdebug
Para ello, necesitaremos descargar la versión de Xdebug, adecuada a nuestra versión de PHP. Hay que tener en cuenta que necesitaremos tener PHP 7.0 o superior.
Empezaremos averiguando que versión de Xdebug nos corresponde para la instalación de PHP de nuestra máquina. Si tenemos instalado el XAMPP es muy sencillo, tan solo tenemos que abrir el navegador y escribiremos en la barra de direcciones localhost, y en el menú de la página que aparecerá pulsaremos la opción de PHPInfo.
Si estamos usando Windows, con ctrl+a, seleccionaremos todo el texto y con ctrl+c lo copiaremos en el portapapeles.
Seguidamente en una nueva pestaña iremos a la siguiente dirección https://xdebug.org/download.php y haremos click en el enlace de custom installation instructions.
Nos aparecerá la siguiente pantalla, en la que copiaremos el contenido del portapapeles anterior, y pulsaremos el botón Analyse my phpinfo() output.
Esto nos mostrará una pantalla con las instrucciones que necesitaremos para usar la extensión Xdebug.
Tal y como nos indican, lo primero que hay que hacer es descargar el archivo que nos sugieren y copiarlo en la carpeta que nos indica en Extensions directory (en mi caso, la carpeta C:\xampp\php\ext).
Ahora editaremos el fichero C:\xampp\php\php.ini, y añadiremos al final las siguientes líneas.
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
zend_extension = C:\xampp\php\ext\php_xdebug-2.6.1-7.2-vc15.dll
NOTA: el valor de zend_extension debe de ser el que nos indica la página de Xdebug en sus instrucciones.
Para verificar que todo el proceso anterior ha tenido éxito, consultaremos otra vez la opción de PHPInfo, y comprobaremos que en el texto que sale al lado de la imagen de zendengine, aparece “with Xdebug” tal y como se muestra en la siguiente imagen (otra forma de comprobarlo es buscar el texto xdebug en esta página).
Configuración de Visual Studio Code para depurar código PHP
Ahora ya estamos en condiciones para poder depurar con Visual Studio Code. Para ello debemos asegurarnos de tener instalado en este editor la extensión de «PHP Debug».
Las extensiones las buscaremos usando el icono del menú de la izquierda con forma cuadrada.
En la caja de texto, buscaremos php debug, y lo instalaremos.
Una vez instalado, para asegurarnos de que funciona, pulsaremos el botón azul Recargar. Y si nos aparece, también pulsaremos el botón con el mensaje «Volver a cargar Window».
En este momento, es cuando abriremos nuestro proyecto (Archivo > Abrir Carpeta). Y después, accederemos a la opción de depuración en el cuarto icono del menú de la izquierda (1). Lo primero que haremos es agregar una configuración para depurar PHP con Xdebug. En la parte superior hay un selector (2), y a su lado, un engranaje. Al pulsar en el selector nos pedirá que indiquemos el lenguaje a depurar (3).
Seleccionaremos el PHP.
Nos aparecerán unas líneas de código per defecto, que dejaremos tal cual.
En nuestro código PHP, agregaremos puntos de interrupción haciendo click a la izquierda del número de línea. Veremos cómo aparecen puntitos rojos en cada línea con un punto de interrupción.
Pulsamos el botón de Iniciar depuración, y después abrimos el navegador con la dirección de nuestra página a depurar.
Cuando el navegador empiece a cargar la página, Visual Studio Code tomará el control y nos permitirá ir depurando paso a paso usando las típicas herramientas de depuración.
Al añadir la configuración para la depuración, Visual Studio Code habrá creado una carpeta .vscode dentro de la carpeta de nuestro proyecto con la configuración de para la depuración. A partir de entonces, cada vez que abramos nuestro proyecto, tan solo tendremos que ir a la opción de depuración, poner algún punto de interrupción y darle a la flechita verde. Si por error borramos esa carpeta, tendremos que volver a repetir los pasos para volver a añadir la configuración.
Emiliana Sánchez
Me ha servido de muchísima ayuda este tutorial! Muchas gracias por compartirlo! no me ha dado problemas! saludos
Luis
No funciona esa forma de configuracion, en el navegador no muestra nada y tampoco se habilitan F10 ni F11. En resumen no se pudo usar
samuel
Como lo configuro en un proyecto laravel ya creado y con docker?
Stas
Prefiero usar Codelobster para depurar código PHP – http://www.codelobster.com