在上一篇文章中,阐述了在phpstorm
安装xdebug
。实际的开发过程当中,因为历史项目的存在,不一样框架的存在,咱们须要借助docker
来快速的实现开发环境的部署与统一,本文将阐述如何在docker
下实现项目的xdebug
。php
与在本机直接开发不一样,docker
环境下,大致是这样。docker
宿主机,即咱们开发用的电脑。
咱们看到,有如下几点不一样:segmentfault
本机开发时。项目的运行环境与IDEA上的CLI,都是本机环境,相统一。docker
开发时,本机环境与dokcer
环境可能不统一。框架
本机开发时,xdebug
反馈的项目路径,就是开发机的实际路径。docker
环境下,xdebug
将docker
主机的路径发送给宿主
机,但宿主机
接收到,在本机上的此路径上,找不到对应的文件。固然,也就没有办法进行正确的信息显示。phpstorm
本机开发时,远程主机地址就是本机地址,因此是127.0.0.1
。docker
开发时,远程主机地址,应该是宿主机地址。spa
总结出上面的几点不一样后,开始实施也变得简单了。debug
配置 -> Languages .. -> PHP
CLI Interpreter ... -> + -> From Docker Vagrant3d
若是不清楚PHP的路径的话,进行DOCKER容器,使用whereis php
。若是在service
找不到docker
,须要进入配置 -> docker
-> + -> 肯定,则phpstorm
会自动为咱们找到当前存在的容器。
配置 -> Languages .. -> PHP -> SERVICES -> +日志
前面提本地项目路径,后面对应docker
项目路径。code
注意:为了保持统一,在docker
容器配置时,应该使用volumes
来进行磁盘映射。
修改docker
容器中的,php.ini
中的xdebug.remote_host=host.docker.internal
host.docker.internal
表明:宿主机
弄懂原理,善于看日志才是解决问题的捷径。