docker环境下,使用phpstorm进行debug

上一篇文章中,阐述了在phpstorm安装xdebug。实际的开发过程中,由于历史项目的存在,不同框架的存在,我们需要借助docker来快速的实现开发环境的部署与统一,本文将阐述如何在docker下实现项目的xdebug

理论概述

与在本机直接开发不同,docker环境下,大体是这样。

clipboard.png

宿主机,即我们开发用的电脑。

我们看到,有以下几点不同:

PHP环境不同

本机开发时。项目的运行环境与IDEA上的CLI,都是本机环境,相统一。
docker开发时,本机环境与dokcer环境可能不统一。

项目的路径不同

本机开发时,xdebug反馈的项目路径,就是开发机的实际路径。
docker环境下,xdebugdocker主机的路径发送给宿主机,但宿主机接收到,在本机上的此路径上,找不到对应的文件。当然,也就没有办法进行正确的信息显示。

远程地址不同

本机开发时,远程主机地址就是本机地址,所以是127.0.0.1
docker开发时,远程主机地址,应该是宿主机地址。

实施

总结出上面的几点不同后,开始实施也变得简单了。

统一PHPSTORM与docker的PHP环境

配置 -> Languages .. -> PHP
CLI Interpreter ... -> + -> From Docker Vagrant

clipboard.png

如果不清楚PHP的路径的话,进行DOCKER容器,使用 whereis php。如果在 service找不到 docker,需要进入 配置 -> docker -> + -> 确定,则 phpstorm会自动为我们找到当前存在的容器。

映射路径

配置 -> Languages .. -> PHP -> SERVICES -> +

clipboard.png

前面提本地项目路径,后面对应docker项目路径。

注意:为了保持统一,在 docker容器配置时,应该使用 volumes来进行磁盘映射。

修改远程地址

修改docker容器中的,php.ini中的xdebug.remote_host=host.docker.internal

host.docker.internal代表:宿主机

添加项目配置信息

clipboard.png

clipboard.png

clipboard.png

clipboard.png

总结

弄懂原理,善于看日志才是解决问题的捷径。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值