在过去的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风暴:

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

标签:php,docker,debugging,xdebug

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

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

  1. php docker xdebug,docker安装xdebug并调试

    查询自己php相对应的Xdebug版本 首先将打印出来的phpinfo复制后粘贴到https://xdebug.org/wizard.php查. wget http://xdebug.org/file ...

  2. 【工具】VScode|Linux 中怎么调试 Python 项目比较方便?又名 VScode 怎么调试 Python 项目(兼容环境Ubuntu18.04)

    使用过 Anaconda.Jupyter.Pycharm.VScode.VS2022.pdb 这几个 IDE 去编写 python 项目或者维护 python 环境,各有各的优缺点,但 VScode ...

  3. matlab 断点 每次重新,matlab程序怎样从中断点重新开始运行?

    点击在要设置断点2113的5261行左侧的-,将其变成4102圆圈后即设置了断点,也可按1653F12设置断点.条件断专点在debug菜单下的set/modify conditional breakp ...

  4. VS 调试断点命中了,程序无法再断点处中断

    代码无法命中处理 1.首先确认一下,程序的DLL与源码是否一致,可以编译之后再进行 2.确认是否有公共的文件存储常用的DLL,导致程序没有走最新编译的DLL 3.VS程序调试时会用到 .pdb文件,是 ...

  5. docker内程序如何读取dockerfile和compose.yml中设置的环境变量

    docker内程序如何读取dockerfile和compose.yml中设置的环境变量 背景 compose文件中配置了服务A和服务B,其中B服务调用了A服务的接口,那么B的实现代码中该如何调用A的服 ...

  6. iOS开发学无止境 - 只会左键断点?是时候试试这样那样断点了

    作者:空之境界 网址:http://supermao.cn/duan-dian-shen-ru-liao-jie/ 点击"阅读原文"可查看本文网页版 编码不能没调试,调试不能没断点 ...

  7. python断点调试从哪里看数据_python断点调试

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 很多项目是用python写构建脚本的,比如微信最近开源的终端跨平台组件 mars ...

  8. gdb 笔记(03)— 某一行设置断点、为函数(单个唯一函数、多个同名函数、使用正则)设置断点、设置条件断点、设置临时断点

    断点 breakpoint,即为了调试的需要,在程序中设置一些特殊标志,代码执行到这些具有特殊标志的位置时会暂停.一旦程序暂停,我们就可以查看或者修改程序运行的一些信息,比如内存信息.堆栈信息等,并且 ...

  9. gdb 笔记(04)— 启用/禁用断点、启用断点一次、查看断点、删除断点、启用断点并命中N次、忽略断点前N次命中)

    1. 启用.禁用断点 如果一个断点被禁用,则该断点不会被命中,但是它仍然会在断点列表中显示.我们仍然可以通过 info b 来查看被禁用的断点,也可以通过启用断点命令来重新启用被禁用的断点. 禁用断点 ...

最新文章

  1. 深入了解EJB (一) EJB在java世界的地位
  2. spring boot / cloud (二) 规范响应格式以及统一异常处理
  3. 管理者指南:别让忙碌伤害了你
  4. GraphPad Prism:如何在轴上放置一个或多个缺口?
  5. 【uoj#209】[UER #6]票数统计 组合数+乱搞
  6. 基金小窍门:如何判断基金的赚与赔
  7. 又跑回去拿的即时通讯
  8. linux 3.10中完成量的使用
  9. sshclientCRT连接linux使用技巧
  10. 无外网情况下RPM方式安装MySQL5.6
  11. java实现所有括号组合的遍历_括号正确嵌套问题的实现(Java)
  12. BZOJ1283 序列(费用流)
  13. 创建win10介质进度为0_MediaCreationTool(Win10介质创建工具) V10.0 官方版
  14. 充电头PD协议和QC协议的理解
  15. 一份完整App运营推广计划方案
  16. Cortex-A55核心板 | 瑞萨工业级G2L多核MPU
  17. AUTOSAR Functional Safety
  18. Ruby read JSON file
  19. Linux中find命令基本使用方法
  20. 大货跟踪程序精简版v1.20200731

热门文章

  1. JS和AIR(FLEX)的互相调用详解
  2. mysql 升序_MySQL之排序检索数据
  3. scapy python_Scapy在Python脚本中
  4. python线程监控_Python多线程的事件监控
  5. dao和mysql映射_hibernate通过数据库生成实体类,映射文件和DAO(实用)
  6. 剑指offer面试题[22]-栈的压入、弹出序列
  7. android uri跳转导航,android:scheme 通过uri跳转到APP应用指定Activity
  8. win7误删计算机,Win7系统下文件数据被误删了怎么办
  9. 克隆网站工具_4 种开源云安全工具
  10. oracle裸设备文件复制,Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理