今天在调试docker内部的php代码的时候遇到了究极大坑,折腾了快3个小时,随记录
php远程调试配置过程,这些步骤在网上都能搜得到
在https://xdebug.org/docs/install#linux看如何安装对应的xdebug
这里运行对应的命令即可

运行完这里的命令会生成xdebug.so文件,具体在哪儿请搜索
完成后需要在php.ini中加入
然后运行php -v .xdebug看看是否加载成功,出现如下及成功,如果这一步骤有问题,会在此处显示错误信息,根据具体错误信息百度能瞬间接解决,请跟着百度解决直到出现如下样子

接下来才是重头戏,也是巨坑,巨容易出错的地方
配php.ini,注意,此处需要判断是xdebug2还是xdebug3,我这里用的是xdebug3的配置
箭头标注的地方是巨坑,如果是调试docker里面的,这个地方千万不能写127.0.0.1,会完全无法debug,
还有一点注意的是,client_port是docker和宿主机通讯的端口,docker无需开放映射,然后就是idekey配置为PHPSTORM即可

巨坑过了,接下来配置phpstorm也有坑点
配置点1,需要和php.ini中的配置一样

配置点2需要和php.ini中的配置一样

配置点3
注意这个地方要填两个路径,一个是本地代码路径,一个是服务器上跑的代码路径(WEB根目录)

配置完成后即可开始debug