Xdebug - настройка на сервере и в IDE
Сервер
# редактирование конфига
docker exec -it -u root CONTAINER_NAME nano /usr/local/etc/php/conf.d/xdebug.ini
[xdebug]
xdebug.mode = debug
xdebug.client_port = 9003
xdebug.client_host=10.10.10.10 # твой адрес
xdebug.start_with_request = trigger ; or "yes"
xdebug.idekey = VSCODE
docker kill -sUSR2 CONTAINER_NAME # релоад фпм
docker exec -t CONTAINER_NAME php-fpm -i | grep xdebug # сверка фпм конфига
docker logs CONTAINER_NAME -f # монитор лога нонстоп
VSCode
mkdir .vscode
nano .vscode/launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "Xdebug",
"type": "php",
"request": "launch",
"port": 9003,
"pathMappings": {
"/var/www/PROJECT_DIR": "${workspaceFolder}"
}
}
]
}
Laradock
nano laradock/.env
PHP_FPM_INSTALL_XDEBUG=true
PHP_FPM_XDEBUG_REMOTE_PORT=9003
; show docker host IP (172.17.0.1)
ip addr show docker0
nano laradock/php-fpm/xdebug.ini
[xdebug]
xdebug.mode = debug
xdebug.client_port = 9003
xdebug.client_host=172.17.0.1
xdebug.start_with_request = yes
docker compose build php-fpm
docker compose down php-fpm
docker compose up -d php-fpm
Docker
nano docker-compose.yml
- ./docker/php/xdebug.ini:/usr/local/etc/php/conf.d/xdebug.ini
[xdebug]
xdebug.mode = debug
xdebug.client_port = 9003
xdebug.client_host=172.17.0.1
xdebug.start_with_request = yes
nano Dockerfile-php
RUN pecl install xdebug && docker-php-ext-enable xdebug