phpStorm remote debug with xdebug
因为使用了 docker 进行了环境隔离,所以需要对 phpStorm 进行远程调试的配置。
网上有一些教程,不是太复杂就是已经过时。经过摸索,一下是完整的配置流程。
版本: ubuntu 14.04 LTS, phpStorm 9, php5-fpm
首先是服务器端的设置:
安装xdebug
apt-get install php5-xdebug
配置 xdebug
vim /etc/php5/fpm/conf.d/20-xdebug.ini
加入:
zend_extension=xdebug.so
xdebug.remote_mode="req"
xdebug.idekey="PHPSTORM"
xdebug.remote_enable=1
xdebug.remote_connect_back=1上面的设置也可以直接放在 php.ini 中。
接下来进行客户端的设置:
- 点击phpStorm菜单
Run -> Start Listening for PHP Debug Connections
- 设置断点
- 安装 xdebug-helper Chrome 浏览器插件
- 打开要调试的网页,激活地址栏的 xdebug-helper
- 如果一切都设置正确,在 phpStorm 会弹出对话框进行文件映射等设置。
这样就可以了。
PS:
如果在 phpStorm 中创建 Remote debug 配置,也是可以收到 debug 断点的。
如果是apache2,xdebug 的默认配置文件会出现在 /etc/php5modes-available/xdebug.ini
UPDATE
如果web 服务器是在Docker for Mac
下使用的话,xdebug.remote_connect_back=1
会不起作用,因为这里的 docker container 接受到的 ip 都是来自172.17.0.1
,所以需要显式的指定 ip 和端口:
zend_extension=xdebug.so |
这里的嗯Docker for Mac
的版本是 v1.12,之后是否会修复这个问题,不得而知。
————2016.08.21