miércoles, 28 de enero de 2026

Xdebug y Composer: error de conexión con el cliente de Xdebug

 Al ejecutar el CLI composer run dev, lo primero que aparece es Xdebug: [Step Debug] Could not connect to debugging client. Tried: localhost:9003 (through xdebug.client_host/xdebug.client_port). Acto seguido empiezan a correr todos los procesos invocados por Composer, pero después el mismo mensaje de Xdebug aparece periódicamente sin límite.

Ese mensaje de Xdebug indica que está intentando iniciar una sesión de depuración pero no encuentra ningún cliente escuchando en el puerto 9003. Aunque no impide que Composer funcione, puede generar ruido constante en la consola. Para solucionarlo, podés desactivar el modo de depuración o configurar correctamente tu cliente (como VS Code o PhpStorm).

🔧 ¿Por qué aparece este mensaje?

Xdebug está configurado para iniciar una sesión de step debugging cada vez que se ejecuta PHP. Intenta conectarse a un cliente de depuración (como VS Code o PhpStorm) en localhost:9003, pero no encuentra ninguno escuchando.

Esto suele pasar cuando:

  • No tenés abierto el cliente de depuración.

  • El cliente no está configurado para escuchar en el puerto correcto.

  • Estás ejecutando PHP desde CLI (como composer run dev) sin necesidad de depurar.

✅ Soluciones recomendadas

1. Desactivar el step debugging para CLI

Si no necesitás depurar desde la terminal, podés desactivar el modo automático:

ini
; En tu php.ini o xdebug.ini
xdebug.mode = develop

Esto desactiva debug pero mantiene otras funciones útiles como trazas de errores.

2. Configurar tu cliente de depuración

Si querés usar Xdebug con VS Code, asegurate de tener:

  • launch.json en .vscode:

json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Listen for Xdebug",
      "type": "php",
      "request": "launch",
      "port": 9003
    }
  ]
}
  • Extensión de PHP Debug instalada.

  • VS Code abierto y escuchando antes de ejecutar el script.

3. Evitar que Composer active Xdebug

Podés ejecutar Composer sin Xdebug usando:

bash
php -dxdebug.mode=off $(which composer) run dev

O bien instalar el plugin oficial:

bash
composer require --dev composer/xdebug-handler

Este plugin desactiva Xdebug automáticamente en entornos donde no se necesita.

🧠 ¿Es un problema grave?

No. Composer sigue funcionando normalmente. Pero si no estás usando Xdebug activamente, conviene desactivarlo para evitar ruido y mejorar el rendimiento.

¿Querés que te ayude a configurar tu entorno para depurar con VS Code en proyectos Laravel o React-PHP?

No hay comentarios: