在 docker 环境下 xdebug 断点

当docker搭建好了环境 然而容器与宿主机之间处于不同网段导致xdebug配置起来就要使用远程断点法了

docker容器部署 xdebug 2.6扩张安装请参见docker从入门到自动化构建php环境

远程断点图解

1.首先xdebug配置

[XDebug]
xdebug.enable=1
;开启远程调试
xdebug.remote_enable=1
xdebug.idekey=PHPSTORM 
;宿主机ip (docker從18.03開始建議連接到特殊DNS名稱host.docker.internal)
xdebug.remote_host=host.docker.internal
;确定宿主机内此断口没有被占用
xdebug.remote_port=19000

Xdebug3配置名称更改

[XDebug]
zend_extension=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.enable=1
xdebug.remote_enable=1
xdebug.idekey=PHPSTORM 
xdebug.client_host=host.docker.internal
xdebug.client_port=19000

docker参考文献

2.配置IDE

开启监听

此时可以运行一下命令,查看端口是否被监听

配置debug服务

3.开始断点

安装浏览器插件xdebug helper 或者也可以在url后面添加XDEBUG_SESSION_START参数的方法

完成最后断口测试

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

没有监听到相应端口

5年前 评论
Oraoto

学到了host.docker.internal,但是只有Docker for Mac/Windows支持,Linux还不支持。

5年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!