PhpStorm+Xdebug+Docker实现断点调试(Mac平台亲测)
-
配置xdebug
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_port=9001
xdebug.remote_autostart=1
xdebug.remote_connect_back=0
xdebug.idekey=PHPSTORM
xdebug.remote_host=127.0.0.1
```
-
设置docker的环境变量
XDEBUG_CONFIG
,并运行docker run -p 9000:9000 --name php-fpm -v $PWD/www:/var/www/html -v $PWD/php/php-fpm.d/www.conf:/usr/local/etc/php-fpm.d/www.conf -v $PWD/php/conf:/usr/local/etc/php -e XDEBUG_CONFIG="remote_host=192.168.31.5" -d ysnows/php7.2.3-fpm:latest
,其中,remote_host
就是运行phpstorm那台机器的ip地址,mac可通过ifconfig en0
获取
-
配置PhpStorm,如图
-
安装
xdebug_helper
插件,并配置为PhpStorm
-
开启插件的debug功能
-
打断点,访问,愉快的调试
参考:
1. Debug your PHP in Docker with Intellij/PHPStorm and Xdebug
-
以上是在浏览器中访问的时候,进行断点调试;还有一个需求是,在
php index.php
运行命令行的时候进行调试,解决方案:- 建立Server
-
设置Docker镜像的环境变量
-
Start Listenning
- 在
index.php
中添加断点,并在Docker容器中运行php index.php
即可断点调试
- 建立Server