Настройка Xdebug + Docker + VSCode
Пример базовых настроек для работы с Xdebug в VSCode для локальной разработки.
Окружение:
- Docker 27.4
- Docker Compose 2.23
- PHP-FPM 8.0
- Xdebug 3.1
- VSCode 1.85
Установка и настройка Xdebug для Docker
Dockerfile
FROM php:8.0-fpm RUN pecl install xdebug-3.1.5 RUN docker-php-ext-enable xdebug
php.ini
[xdebug] xdebug.mode=debug xdebug.client_host=host.docker.internal
docker-compose.yml
services:
php-fpm:
build:
context: ./docker/php
dockerfile: Dockerfile
image: php:8.0-fpm
restart: unless-stopped
volumes:
- ./docker/php/local.ini:/usr/local/etc/php/conf.d/local.ini
- ./app/:/var/www/
extra_hosts:
- host.docker.internal:host-gateway
После успешной сборки образа и запуска контейнера нужно проверить что модуль Xdebug активен в PHP.
$ php -m ... [Zend Modules] Xdebug
Установка и настройка расширения PHPDebug для VSCode
В блоке расширений найти и установить PHPDebug. После чего создать для него конфиг в корне проекта .vscode/launch.json, тут важно обратить внимание на pathMappings.
{
"version": "0.2.0",
"configurations": [
{
"name": "Listen for Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/": "${workspaceFolder}"
}
}
]
}
Запуск Xdebug в VSCode
