Xdebug es una potente herramienta de depuración y creación de perfiles de PHP que nos ayuda a analizar y optimizar aplicaciones PHP. Admite funciones como la depuración paso a paso, la medición del rendimiento y el seguimiento de la pila, lo que facilita mucho la resolución de problemas y proporciona una mejor comprensión del código. A continuación se muestra una pequeña guía de configuración para usar dentro de VSCode.
Instalar Xdebug
Como ejemplo, instalamos Xdebug en un sistema Ubuntu actual.:
sudo apt-get install -y php8.4-xdebug
Finalmente, creamos un directorio temporal para el almacenamiento posterior de datos de perfil y seguimiento.:
mkdir -p /tmp/xdebug
Configurar Xdebug
Después de la instalación, configuramos Xdebug. Para ello lo editamos. es/php.ini:
vi /etc/php/8.4/fpm/conf.d/custom.ini
Lo que sigue es una configuración básica sensata.:
[xdebug]
; mode (see: https://xdebug.org/docs/all_settings#mode)
; reasonable default
xdebug.mode=debug,profile
; disabled
;xdebug.mode=off
; step debugging
;xdebug.mode=debug
; performance profiling (be aware of load/space)
;xdebug.mode=profile
; trace profiling (record args)
;xdebug.mode=trace
; starting mode
; always (not recommended)
;xdebug.start_with_request=yes
; only when specific get parameters / cookies are set
; (?XDEBUG_TRIGGER=1, ?XDEBUG_PROFILE=1, ?XDEBUG_TRACE=1, ?XDEBUG_SESSION=1)
; this is best in conjunction with Chrome extension "Xdebug helper"
xdebug.start_with_request=trigger
; folder for analyzing profile dumps
xdebug.output_dir="/tmp/xdebug"
; not needed, since it is already in /etc/php/8.4/fpm/conf.d/20-xdebug.ini
;zend_extension=xdebug.so
Después de realizar estos ajustes, reiniciamos PHP-FPM para aplicar los cambios.:
sudo service php8.4-fpm restart
Configurar VSCode
Para usar Xdebug en Visual Studio Code, se requieren dos extensiones y un ajuste de configuración. instalamos esto:
- Depuración de PHP: para la funcionalidad básica de depuración.
- Perfilador PHP: Para analizar los archivos cachegrind.
Finalmente creamos el archivo de configuración launch.json en la carpeta .vscode del proyecto a analizar:
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"ignore": ["**/vendor/**/*.php"]
}
]
}
Instalar la extensión de Chrome
La extensión auxiliar Xdebug ha demostrado su eficacia para una depuración flexible en el navegador. Esto hace posible habilitar o deshabilitar Xdebug solo cuando sea necesario. También puede cambiar fácilmente el modo de depuración (por ejemplo, para cambiar de depuración a creación de perfiles):

Configurar WordPress
Cuando se utiliza Xdebug en un entorno de WordPress, puede resultar útil desactivar la depuración dentro de los trabajos cron cuando hay una sesión de depuración activa. Esto facilita las solicitudes de depuración. Para hacer esto, agregue la siguiente línea a: wp-config.php
a:
// disable wp cron on xdebug sessions
if (function_exists('xdebug_is_debugger_active') && xdebug_is_debugger_active()) {
define('DISABLE_WP_CRON', true);
}
Con esta configuración tenemos una potente configuración que nos permite abordar problemas complejos de depuración con precisión. Ya sea para encontrar errores persistentes o para ajustar problemas de rendimiento, Xdebug no solo hace que el trabajo sea más eficiente, sino que también aporta una nueva calidad al desarrollo a través del control y la claridad del código.