vscode php 不进断点,php – Docker和XDebug没有读取断点VSCode

在过去的6个月中,我一直在使用XDebug和PHP Version 7.0.*在远程调试Docker容器的MAC上.

我正在运行一个旧版本的docker,它使用VirtualBox到VM for docker,一切正常.

我最近更新了docker到版本17.03.1并且除了xDebug之外什么都没有.我通过他的存储库上的一个问题联系了vscode-php-debug的创建者,然后他指出我用xdebug和/或docker来解决这个问题.

我的问题如下:

XDebug正在运行并处理我的容器,xdebug日志显示它连接到我的IDE,但它只是关闭连接,就像我在VSCode中设置了断点时没有断点一样.

我在vscode-php-debug上发布的问题可以在here找到

其中包含我的xDebug日志和VSCode调试日志的副本…它显示已建立连接但未命中断点.

我已经阅读了几篇博客,其中docker现在需要为连接到xdebug而创建的环回ip才能工作,我也试过并失败了.

我发现使用一个这么长时间后没有调试器就很难调试.

我尝试了许多配置,重新安装,重新启动,重建图像/容器,甚至尝试了freenode上的docker和xdebug irc通道而没有任何成功.

解决方法:

EDIT-2 2018

现在可以更改remote_host值以支持所有平台:

xdebug.remote_host = "host.docker.internal"

[xdebug]

xdebug.remote_host = "docker.for.mac.host.internal"

xdebug.default_enable = 1

xdebug.remote_autostart = 1

xdebug.remote_connect_back = 0

xdebug.remote_enable = 1

xdebug.remote_handler = "dbgp"

xdebug.remote_port = 9000

xdebug.idekey="PHPSTORM"

老配置

由于你在mac上使用docker我发布我的解决方案的工作方式.大部分学分都是this post on the docker forum.

假设您的xdebug安装正确,这是我在php.ini中的配置.

[xdebug]

xdebug.remote_host=10.254.254.254

xdebug.remote_autostart=1

xdebug.idekey = PHPSTORM

xdebug.default_enable = 0

xdebug.remote_enable = 1

xdebug.remote_connect_back = 0

xdebug.profiler_enable = 1

您可以在终端中执行此命令来测试配置. sudo ifconfig en0别名10.254.254.254 255.255.255.0.

如果这样做,您可以将其转换为plist文件并将其放在以下位置. /Library/LaunchDaemons/com.docker.xdebugFix.plist.您将在下面找到我的plist文件版本.

Label

com.docker.xdebugFix

ProgramArguments

ifconfig

en0

alias

10.254.254.254

255.255.255.0

RunAtLoad

注意:plist仅在重启Mac后才能工作.

PHPSTORM配置(2018年编辑后也需要)

之后我用这样的调试服务器设置我的PHP风暴:

dec88993ad494a9429affc5786258814.png

5a20fcb8fed47f2e2b44398bf096e4aa.png

在那之后我的断点在哪里工作,如果你正在使用chrome你也需要使用xdebug扩展,但我很确定你知道这个,因为你过去使用过它.

标签:php,docker,debugging,xdebug

来源: https://codeday.me/bug/20190627/1307666.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值