phpstorm 配置xdebug(docker容器)

1.准备工作:通过Dockerfile或docker-compose.yml已经编译好了镜像并启动了容器,通过查看phpinfo确认Xdebug扩展已启用

2. php.ini中的xdebug常用配置(我挂载了配置文件的路径和日志路径,根据个人情况更改):

xdebug.remote_enable = On
xdebug.remote_handler= "dbgp"
;启用性能检测分析
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = profiler.out.%t.%p
;启用代码自动跟踪
xdebug.auto_trace = On

;指定性能分析文件的存放目录
xdebug.profiler_output_dir = "某盘:\xxx\php\xdebug"
;指定启用代码自动跟踪文件的存放目录
xdebug.trace_output_dir = "某盘:\xxx\php\xdebug"
xdebug.remote_log = "某盘:\xxx\php\xdebug\remote.log"
xdebug.show_local_vars = 0
 
;配置xdebug监听的端口  端口随意改 推荐大于9000 且该端口不需要映射到宿主机,xdebug自己默认暴露但不映射
xdebug.remote_port = 9001
xdebug.idekey = "phpstorm"
# docker推荐采用如下形式表示和phpstorm所在机器的ip(如果你的phpstorm装在宿主机那就是宿主机的ip)
xdebug.remote_host = host.docker.internal

3. 配置docker设置

phpstorm 配置xdebug(docker容器)_第1张图片

4. 配置phpstorm (注意:每个项目都要配置一遍,配置属于项目,不属于IDE

4.1设置php解析器:

    因为docker环境,肯定是要找php容器,我这里已经设置好了,根据自己情况点击加号新增即可

phpstorm 配置xdebug(docker容器)_第2张图片

上一步点击+ 选择 from Docker.. 出现下图弹框:选择docker,选择php镜像名称(image name)

至于 PHP interpreter path  好像是ide自己读取的,应该是php容器的名称(或者自己点输入框右边的文件夹图标,自己选一下)

phpstorm 配置xdebug(docker容器)_第3张图片

phpstorm 配置xdebug(docker容器)_第4张图片

 

上图点击Ok以后,记得点击下图右下角框出来的的更新按钮,这样就会检测php容器中的xdebug扩展

phpstorm 配置xdebug(docker容器)_第5张图片

4.2 配置Debug

phpstorm 配置xdebug(docker容器)_第6张图片

注意,这里主要配置debug的监听端口,跟php.ini里配置的xdebug.remote_port 保持一致

其余的不需要更改,DBGp Proxy 这个是远程调试的时候才需要配置的,本地使用docker容器,不需要配置。

4.3 配置server

phpstorm 配置xdebug(docker容器)_第7张图片

上图所示:host 填写你项目配置的虚拟域名,端口就是nginx的端口, debugger选择Xdebug

下面的Use path mappings 必须要选择,并且一定要配置好映射目录

File/Directory 是宿主机的项目所在目录,通常就是phpstorm打开当前项目的根目录路径,

Absolute path on server 是docker容器中的项目路径,需要自己填,也就是php容器挂载的宿主机的项目路径

比如我的php容器 将/home/project 挂载到宿主机的E:\project\php

那么对应的Absolute path on server  :就是 /home/project  然后剩下的部分就和File/Directory 一样即可

4.4 配置好了server以后,在编辑器右上角 (补充 2020年1月18日)

phpstorm 配置xdebug(docker容器)_第8张图片

点击图上标注,自己新增对应的web请求

phpstorm 配置xdebug(docker容器)_第9张图片

新增debug对应的请求页面,Server就是4.3添加的server, start url 默认是 /  域名就是4.3 Server 设置的域名,如果你不是访问/ 比如访问/user/1  那么start url 就  填/user/1  对应下面蓝色的访问的url 域名后面的部分也会更改。

然后点击保存。

5. 直接使用IDE debug测试(需要选中4.4中添加的debug页面配置) 或者使用postman(postman 测试需要加上 ?XDEBUG_SESSION_START=五位数字)测试接口断点, 无论是使用IDE 或者是Postman 都与要打开监听奥,就是那个金龟子右边的盾牌右边的小电话。

有图有真相:

phpstorm 配置xdebug(docker容器)_第10张图片

每个人遇到的情况可能不同,步骤就是这写步骤,多数问题是挂载目录的问题。

有帮助的话点个赞,谢谢。

 

 

你可能感兴趣的:(插件,php)