Пример базовых настроек для работы с Xdebug в VSCode для локальной разработки.
План действий:
Мой стек:
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/launch.json
, тут важно обратить внимание на pathMappings
.
{ "version": "0.2.0", "configurations": [ { "name": "Listen for Xdebug", "type": "php", "request": "launch", "port": 9003, "pathMappings": { "/var/www/": "${workspaceFolder}" } } ] }