En un artículo anterior os hablé de cómo desplegar un entorno de desarrollo local con Docker. Ahora vamos a ver cómo utilizar XDebug en este tipo de entornos de desarrollo.
Extensión Xdebug Helper para Chrome
Se requiere tener la extensión XDebug helper en Chrome.
Habilitando Xdebug
COPY xdebug.ini /etc/php/$PHP_VERSION/apache2/conf.d/20-xdebug.ini
El contenido de xdebug.ini es el siguiente:
[XDebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_autostart=1
xdebug.idekey=docker
xdebug.remote_host="host.docker.internal"
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_port=9000
XDebug desde VSCode
Para utilizar XDebug con el editor de código VSCode tenemos que tener instalada la extensión PHP Debug y configurar el launch.json tal que así:
{
"version": "0.2.0",
"configurations": [
{
"name": "Docker Xdebug",
"type": "php",
"request": "launch",
"port": 9000,
"pathMappings":{
"/var/www/html":"${workspaceRoot}"
},
}
]
}
La configuración del XDebug Helper para VSCode es la siguiente:

XDebug desde PhpStorm
Para utilizar XDebug desde PhpStorm podéis seguir el siguiente artículo, teniendo en cuenta que los parámetros a utilizar en nuestro caso son los siguientes:
xdebug.remote_host = localhost
xdebug.remote_port = 9000
xdebug.idekey = docker
Repositorio Github
Tenéis disponible una plantilla con un entorno Docker preparado para desarrollar Drupal 8 con Xdebug en mi GitHub.
