xdebug for docker配置方法
环境
- docker 17.06+
- php7.0 docker容器
- chrome+JetBrains IDE Support扩展
- IDE:phpstorm 2017.2
注意:如果你的docker版本低于17.06+,请先升级到17.06+版本,因为
docker.for.XXX.localhost
这个宿主机的虚拟域名是17.06添加进来的。
配置php.ini
如果是windowsxdebug.remote_host
需要修改为docker.for.mac.localhost
[xdebug]
; 远程是否可以用,必须
xdebug.remote_enable = on
; 自动开始
xdebug.remote_autostart = on
; 远程的 host,默认本地;docker内使用虚拟域名:mac:docker.for.mac.localhost,windows:docker.for.win.localhost
xdebug.remote_host = docker.for.mac.localhost
; 使用非 9000 默认端口,9000 端口我失败了,所以最好改动一下
xdebug.remote_port = 9010
; 使用 dbgp 做 80 端口代理
xdebug.remote_handler = dbgp
; 这里的 的 key 必须和到时候 IDE 中的一致
xdebug.idekey = PHPSTORM
; 输出的日志文件,个人觉得很重要
xdebug.remote_log = /tmp/xdebug.log
配置phpstorm
-
Preferences->Languages & Frameworks->PHP->Debug
指定Xdebug内的
Debug port
端口为你php.ini
上面配置的端口9010
-
Preferences->Languages & Frameworks->PHP->Debug->DBGp Proxy
IDE key:
PHPSTORM
Host:
localhost
Port:
80
开启phpstorm 右上角的电话按钮,在代码文件上打断点,然后访问就会提示有脚本调试访问,选择同意就可以了。
注意:
PHP->Servers
下的Absolute path on the serve
需要设置为容器内的项目路径