IDEA debug 远程调试 Docker容器中的 PHP

  1. 安装 debug 扩展并配置 php.ini, 重启 php-fpm 使配置生效 kill -s USR2 1
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
[XDebug]
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
; Set to host.docker.internal on Mac and Windows, otherwise, set to host real ip
xdebug.remote_host = host.docker.internal
xdebug.remote_port = 9001
xdebug.remote_log = /var/log/php/xdebug2.log

xdebug.idekey="PHPSTORM"
xdebug.remote_autostart=1
xdebug.remote_connect_back=1

注意端口 9000 不要被 php-fpm 占用, host.docker.internal 是宿主机的 ip, 如未配置无需更改. docker自动映射

  1. 配置 idea

端口与PHP配置要对应

File/Directory 要配置对,本地项目地址与远程的文件路径映射

添加一个 php web page

选择之前配置的 server ,填写对应地址url

监听

只使用 1 开启监听,查看php配置的日志文件,输出正常即可,打断点,访问断点的url即可

使用 2 可以直接以debug 模式访问项目,会带上 debug 的参数在url上