Комментарии 4
Странно, php.ini вроде как есть в файлах проекта, но зачем-то нужно его править вручную.
xdebug.remote_host=host.docker.internal
Это не будет работать на линуксе, только на маке и винде (https://github.com/docker/for-linux/issues/264).
Можно это исправить с помощью директивы extra_hosts
, подробнее здесь.
Настройки дебагера можно передавать через переменные окружения
Желательно увеличить время исполнения запроса. В противном случае на любое расследование у вас будет только одна минута.
# docker-compose.yaml (fragment)
...
php71:
image: ${PHP71_IMAGE}
restart: unless-stopped
volumes:
- ".:/app:rw"
- "./docker/php/debug.ini:/etc/php7/conf.d/debug.ini"
- "./docker/php/php-fpm-debug.conf:/etc/php7/php-fpm.d/www.conf"
environment:
XDEBUG_CONFIG: 'idekey=PHPSTORM remote_host=172.17.0.1 remote_port=9000 remote_autostart=1 remote_enable=1 remote_mode=req remote_connect_back=0'
PHP_IDE_CONFIG: 'serverName=Docker'
COMPOSER_ALLOW_XDEBUG: 0
...
Желательно увеличить время исполнения запроса. В противном случае на любое расследование у вас будет только одна минута.
# docker/php/debug.ini
php_max_execution_time = 600
opcache.force_restart_timeout = 600
display_errors=0
# docker/php/php-fpm-debug.ini (fragment)
...
[www]
request_terminate_timeout = 600s
...
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Дебажим PHP-контейнер с помощью Xdebug и PhpStorm