在你本地的开发环境,基于你的开发镜像创建一个Dockerfile,就装一个xdebug进去
例:
Dockerfile
FROM php:5
RUN yes | pecl install xdebug \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_enable=on" >> /usr/local/etc/php/conf.d/xdebug.ini \
&& echo "xdebug.remote_autostart=off" >> /usr/local/etc/php/conf.d/xdebug.ini
获取你的本地IP(通过ifconfig 等)
启动你的镜像,添加以下环境变量
XDEBUG_CONFIG="remote_host={{YOUR_IP_ADDRESS}}"
运行docker命令
docker run -e XDEBUG_CONFIG="remote_host={{YOUR_IP_ADDRESS}}" your-image
docker-compose.yml
foo:
build: path/to/Dockerfile
environment:
XDEBUG_CONFIG: remote_host={{YOUR_IP_ADDRESS}}
In Intellij/PHPStorm go to:
Languages & Frameworks > PHP > Debug > DBGp Proxy and set the following settings:
Host: your IP address
Port: 9000
所有设置完毕,你可以通过你的IDE监听你的PHP Debug连接,第一次运行的时候IDE会要求你映射的本地目录,但是之后就什么都不需要做了。
开心地DEBUG吧!