php使用xdebug在docker中进行断点测试

进行步骤:

1.先安装带xdebug扩展的php容器,我创建php容器的Dockerfile

2.其中php.ini的配置为下,更多配置信息查看官方手册:

xdebug.remote_enable=1

xdebug.remote_connect_back = 1 // 当该项启动时remote_host配置无效

;xdebug.remote_host=192.168.3.5

xdebug.remote_port=9007 // 宿主监听端口

xdebug.remote_handler="dbgp"

xdebug.max_nesting_level = 5000

xdebug.remote_autostart = 1

xdebug.remote_log="/tmp/xdebug.log" // xdebug远程连接日志

3.确定本地文件路径和docker容器中的文件路径是否一致,这个问题烦了我两三周,一直找不到解决方案,下方为我的debug过程:

在容器内安装ngrep查看端口数据传输问题

数据传输抓取

由此可看出,docker容器是ip为172.18.0.2端口为58614像宿主机器192.168.3.5的9007端口传输数据,对应的文件路径为/usr/local/nginx/html/laravel5.5/public/index.php(此为宿主文件路径),

对应路径映射到docker容器里面对应路径的文件,如果外部的文件路径和docker容器文件的路径不一致,则无法进行debug操作

你可能感兴趣的:(php使用xdebug在docker中进行断点测试)