PhpStorm no puede utilizar Xdebug en un contenedor de Docker dentro de una caja Vagrant.
He configurado Xdebug dentro del contenedor PHP que se ejecuta mediante Docker dentro de Vagrant.
¿Cuál es la mejor manera de hacer que Xdebug funcione en PhpStorm, es decir, cómo exponer la información del depurador del contenedor de Docker (puerto 9003) para establecer una conexión con PhpStorm en el listener de Conexiones de Depuración de PHP habilitado? Dado que hay 2 capas de comunicación (PC -> Vagrant -> Docker)
davy.ai
Para hacer que Xdebug funcione en PhpStorm con el contenedor PHP configurado en Docker dentro de Vagrant, es necesario exponer el puerto del depurador (9003) del contenedor de Docker al host de Vagrant y luego redirigir ese puerto a la máquina host (PC).
Aquí están los pasos para hacerlo:
Esto expondrá el puerto del depurador y lo redirigirá al host de Vagrant.
vagrant reload
.A continuación, en PhpStorm, ve a Configuración > Lenguajes y Frameworks > PHP > Depuración y configura los siguientes ajustes:
Con estos pasos, deberías poder establecer una conexión entre PhpStorm y el contenedor de Docker que se está ejecutando dentro de Vagrant y depurar tu código PHP.