Vagrant + Xdebug + Atom

2024-03-12

我有一个安装了 xdebug 的 vagrant box,在 OSX 上运行,但我很难获取 Atom xdebug 插件(php-debug) 连接到它。

我粘贴了phpinfo();将数据输入 xdebug 验证站点,结果显示一切正常。并且您可以看到所有 xdebug 设置。

我已经在 vagrant 文件中映射了端口 9000。

config.vm.network :forwarded_port, guest: 9000, host: 9000

vagrant box 仅具有暴露的主机网络192.168.10.100作为服务器的IP。

我已经尝试了各种不同的 xdebug 选项,ATOM 插件网站上的建议......

xdebug.remote_enable=1
xdebug.remote_host=127.0.0.1
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_autostart=true

但这有点令人困惑remote_connect_back=1意味着 xdebug 将忽略remote_host设置 - 所以不确定为什么两者都在那里 - 都不起作用。

每次更改选项后,我都会重新启动 apache / php,并检查它们是否已加载phpinfo();

如果我检查谁在监听端口 9000

COMMAND     PID USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
Atom\x20H 10656 Matt   28u  IPv6 0x321cb0a96ba5b593      0t0  TCP *:cslistener (LISTEN)
VBoxHeadl 10889 Matt   19u  IPv4 0x321cb0a981a71433      0t0  TCP *:cslistener (LISTEN)

你可以看到vagrant(虚拟盒子)和Atom。虽然 Atom 是 IPv6,这很奇怪......

但是在 ATOM 中启用调试器、设置断点并访问站点,什么也没有发生 - ATOM 永远不会连接。

有任何想法吗?有人让这个工作吗?


但这有点令人困惑remote_connect_back=1意味着 xdebug 将忽略remote_host setting

你是对的——那里不需要这个选项——最好设置为0

xdebug.remote_host=127.0.0.1

这是错误的(除非您将通过 SSH 隧道进行调试)。它必须是调试客户端(在您的情况下为 Atom)运行的 IP。连接客户端的是xdebug而不是其他方式:https://xdebug.org/docs/remote https://xdebug.org/docs/remote

这也意味着 IP 必须是从 Vagrant 机器上看到的。可能是最简单的获取方法——看看有什么$_SERVER['REMOTE_ADDR'] has.

我已经在 vagrant 文件中映射了端口 9000。

config.vm.network :forwarded_port, guest: 9000, host: 9000

你不需要在 Vagrant 中公开 9000 端口——没有人会连接到它(就像你对 Web 服务器的端口 80 所做的那样)——来自 VM/客户操作系统的 xdebug 将连接到外部到你的“真实”/主机操作系统。

如果有的话——您应该允许该端口上的传出连接而不是传入连接。

如果我检查谁在监听端口 9000

这意味着 Atom 无法通过 TCPv4 接收传入的 xdebug 连接。默认情况下 xdebug 将尝试使用该连接(除非您在xdebug.remote_host).


如果有的话——收集 xdebug 日志(xdebug.remote_log)并查看它尝试连接的位置等。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vagrant + Xdebug + Atom 的相关文章

  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • GitHub Atom - 删除编辑器中的中心线

    我刚刚下载了 GitHub Atom Editor 正在对其进行自定义 但我无法删除编辑器中间的那行 有人帮我看看如何删除那条线吗 该行由wrap guide 包提供 您可以使用以下选项来删除该行 Option 1 禁用换行指南包裹 去At
  • PHPStorm + XDebug 设置演练

    直到最近 我一直在用 PHP 通过 Notepad 编写代码 并通过检查 IIS 中的日志进行调试 一定喜欢那个 Web 平台安装程序 从那时起 我决定更新到更高效的代码编写 测试环境 并在使用 PHPStorm 玩了一会儿之后 决定购买它
  • 无法打开原子

    我无法打开 Atom 编辑器 昨天还好好的 今天不知道为什么打不开了 我的电脑上没有 Windows 更新或任何东西 我尝试删除一些在线论坛中提到的 存储 文件夹 但没有帮助 有什么建议么 我使用的是 Atom 版本 1 19 6 0 如果
  • 在 Atom 中使用变量创建片段

    是否可以将变量合并到 Atom 中的片段中 例如 当您想要预先填充即将出现的点时 这对于 for 循环非常有用 The snippets cson我想以java作为源的条目 不幸的是它不起作用 source java For Loop pr
  • 使用流浪文件回答提示?

    是否可以将脚本添加到 Vagrantfile 来回答提示 我正在为 docker 配置一个 ubuntu 盒子 config vm box ubuntu config vm provision shell inline gt sudo ap
  • Vagrant 同步文件夹权限

    我已经在 Vagrant 中设置了一个从 Windows 主机到来宾的同步文件夹 最初 文件的权限过于开放 因此我添加了以下安装选项 config vm synced folder my folder home vagrant my fol
  • 使用 Vagrant 配置机器并在脚本停止处拾取时是否可以重新启动机器?

    我正在阅读 bash 中的教程 其中他们说重新启动机器 没有直接重新启动服务的选项 这是重新启动机器的问题 然后还有更多命令在配置时仍然需要运行 那么有没有办法在配置过程中重新启动盒子 然后从上次中断的地方继续进行呢 据我所知 如果尝试重新
  • Laravel Homestead 中 npm 安装错误有解决方案吗?

    Windows 10 家园 虚拟盒6 0 8 流浪者2 2 5 节点 v12 5 0 npm v6 10 1 我想做的就是在新安装的 Laravel 应用程序中执行 npm install 命令 但我不断收到错误 经过两天的谷歌搜索并尝试了
  • Microsoft VS Code:当我尝试启动程序时,出现错误“spawn php ENOENT”

    我正在尝试在 Microsoft VS Code 上运行 PHP 代码 当我单击启动时 唯一发生的事情是调试控制台中出现错误 生成 php ENOENT 为了解决这个问题 我将 XDebug 的 dll 文件放入 ext 文件夹中 我将 p
  • 如何关闭 Atom 中的片段?

    我最近开始使用Atom https atom io 我遇到的一个问题是为 Ruby 定义了太多 不明确的代码片段 这使得制表符补全变得更糟 因为有时您会得到一些不相关的代码而不是您想要的名称 我想知道如何关闭 Language Ruby 包
  • xdebug.remote_handler 在 PHP.INI 中设置,但未在 PHPinfo 中显示

    我正在尝试让 Xbdebug 与 NetBeans 一起运行 以便调试一些 PHP 代码 我确信几年前我已经让它工作了 然后切换了 IDE 现在想切换回来 When I try to debug the status bar shows 并
  • 未捕获的错误:找不到模块“jquery”

    我在用Electron https github com atom electron制作桌面应用程序 在我的应用程序中 我正在加载一个外部站点 Atom 应用程序之外 可以说http mydummysite index html http
  • 如何在 Vagrant 中使用 VirtualBox 创建具有两个 CPU 的虚拟机?

    在 Windows 7 64 位上尝试启动 VM Ubuntu 32 位 尽管添加了以下内容 但我仍无法让我的虚拟机显示两个核心modify vm我的 Vagrantfile 中的命令 我的 Vagrant 版本是 1 2 2 mode r
  • vagrant 无法启动虚拟机 - (Errno::EADDRNOTAVAIL)

    我真的被这个问题碰壁了 我在 Windows 机器上 具有管理员权限 我想开始使用 vagrant 设置我的工作环境 问题是我收到错误 在下面 并且我找不到任何解决方案 我正在使用最新的 virtualbox 和 vagrant 版本 错误
  • Vagrant + Chef:配置错误“虚拟机上缺少 Chef 所需的共享文件夹。”

    我已经使用 Chef library Chef 安装了 Vagrant Virtualbox 当我做vagrant up第一次 食谱被正确加载 但是 当我事后进行配置时 无论是vagrant provision vagrant reload
  • 在 phpMyAdmin 上禁用 xDebug

    我是第一次使用 xDebug 一切都很顺利 但当我想继续时localhost phpmyadmin它想开始调试 我这里没有断点 如何仅对 phpmyadmin 禁用它 我的配置 XDebug zend extension C xampp p
  • Xdebug PhpStorm 不停止断点

    PHP 7 2 X调试2 7 阿帕奇 2 4 38 PhpStorm 2018 1 4 Mac 操作系统 莫哈维 本地项目 在 Firefox 中安装 Xdebug 帮助程序 我无法调试代码 代码停在第一行 当我尝试更进一步或提出要点时 调
  • 在 MacOs Big Sur 升级中遇到 Vagrant Up 错误 [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚将我的 mac 操作系统从 Catalina 升级到 Big Sur 我的vagrant以前工作正常 然后我就遇到了这个问题 流浪者
  • Vagrant 遇到问题 - “404 - 未找到”

    我正在尝试使用 Vagrant 制作一个 LAMP 盒子 有人告诉我它使用起来非常简单 我对网络和虚拟机完全陌生 对 Linux Ubuntu 的经验也很少 我目前已尝试按照官方文档页面上的教程进行操作 http docs vagrantu

随机推荐

  • 谷歌浏览器扩展:如何多次打开新的浏览器窗口?

    我的 Chrome 扩展程序使用这个简单的 JS 打开一个新的浏览器窗口 chrome browserAction onClicked addListener function tab var room new Date getTime w
  • ViewPager 使用视图而不是片段

    I ve a ViewPager现在使用Views代替Fragments显示每个选项卡 每个选项卡都会扩展相同的布局文件 Overview In this ViewPager 我应该将地雷添加为选项卡 因此基本上每个选项卡都对应于一个特定的
  • 如何不使用gopath导入本地包

    我用过GOPATH但对于我当前面临的这个问题 它没有帮助 我希望能够创建特定于项目的包 myproject binary1 go binary2 go package1 go package2 go 我尝试了多种方法 但如何得到packag
  • 无法在 Electron 应用程序中使用 Discord OAuth2

    我正在尝试创建一个 Electron 应用程序 使用 Electron net 和 MVC 并使用 Discord 的 OAuth2 进行用户登录 然而 当加载 OAuth2 页面时 Discord 认为我使用的 Discord 安装已损坏
  • 如何捕获远程系统网络流量?

    我一直在使用wire shark来分析socket程序的数据包 现在我想看看其他主机的流量 因为我发现我需要使用只有Linux平台支持的监控模式 所以我尝试了但我无法捕获在我的网络中传输的任何数据包 列为捕获的 0 个数据包 设想 我有一个
  • 升级到 flutter 3.0.1 后更新 CocoaPods 时出错

    我在用MacBook Pro M1 芯片 OS is MacOS 蒙特利 12 3 1 今天我将flutter从2 5 4升级到3 0 1 我可以在 Android 中完美运行我的项目 但是在 iOS 中我收到以下错误 Launching
  • 关闭 seeds.rb 中的验证

    如何关闭验证Rails 3 2 3 in seeds rb 我做了这个 u1 User create email email protected cdn cgi l email protection password 123 validat
  • 如何使用 pyminizip 在 Python 3.x 中创建临时 ZIP?

    我需要创建一个临时 zip 文件来存储文件 该 ZIP 文件需要加密 所以zipfile不会在这里做的伎俩 该文件将被进一步加密 ZIP 将再次加密为另一个文件 因此压缩文件被用作减小其大小以实现更快的互联网传输以及第一层加密的一种方法 这
  • 使用 setjmp / longjmp 的通信协议和本地环回

    我使用共享内存和共享互斥体编写了一些相对简单的通信协议 但后来我想扩展支持以在使用不同运行时的两个 dll 之间进行通信 很明显 如果你有一些std vector lt int64 gt 和两个 dll 一个 vs2010 一个 vs201
  • Hive “alter table <表名称> 连接”如何工作?

    I have n large 我想要合并的小尺寸 orc 文件的数量k small 大型 orc 文件的数量 这是使用完成的alter table table name concatenateHive 中的命令 我想了解 Hive 是如何实
  • 如何在JSP页面中迭代session?

    如何迭代会话并将每个提交值保留在同一页面直到会话结束
  • GPU 上的高效全对集交集

    I have n集合 有限宇宙的子集 我想计算n n矩阵 其中 I J 条目包含集合交集的基数I并设置J n的顺序是50000 我的想法是将矩阵分割成足够小的块 以便每个条目都有一个线程 每个线程都应该使用以下方法计算交集bitwise a
  • 为什么 UIElement.MoveFocus() 不将焦点移动到 ListBox 中的下一个同级元素?

    我有以下视觉树
  • 访问 Android Stock 浏览器设置

    我想通过代码访问 和更改 库存 Android 浏览器的设置 这可能吗 如果可能的话 如何 是的 这是编程问题 我想通过代码更改它 而不是通过手动单击 对 root 设备执行此操作怎么样 Android 的操作系统级安全模型基本上可以防止这
  • PyQt 允许枚举值和字符串

    在 PySide 中 我可以通过使用获取具有可能 允许的枚举值及其字符串表示形式的字典values属性 例如 QtWidgets QMessageBox StandardButton values items 如何在 PyQt4 PyQt5
  • 为什么禁用的 JavaFX TextArea 的颜色与 TextField 不同

    我正在重新设计 JavaFX 应用程序 但我有一个问题 disabled风格 当我尝试改变 fx text fill and fx opacity settings 文本区域的文本颜色仍然比文本字段稍浅 这是我现在得到的风格 Text Fi
  • AppDelegate.m 用于 FBSDK 和 LinkingManager

    要使用 FBSDK 我需要在应用程序委托中使用此代码片段 BOOL application UIApplication application openURL NSURL url sourceApplication NSString sou
  • 使用学习的人工神经网络来解决输入

    我最近再次深入研究人工神经网络 包括进化和训练 我有一个问题 关于什么方法 如果有的话 可以解决导致目标输出集的输入 这个有名字吗 我试图寻找的一切都会导致我进行反向传播 但这不一定是我所需要的 在我的搜索中 我最接近表达我的问题的是 是否
  • 为什么 tailwind css 类名中有一个反斜杠?

    我正在尝试学习和使用最近非常流行的新实用程序框架 顺风CSS https tailwindcss com 当我使用文档中的说明编译 css 时 我看到很多 css 类名都有冒号 其中 前面有一个反斜杠 这是为什么 是为了让CSS明白有一个
  • Vagrant + Xdebug + Atom

    我有一个安装了 xdebug 的 vagrant box 在 OSX 上运行 但我很难获取 Atom xdebug 插件 php debug 连接到它 我粘贴了phpinfo 将数据输入 xdebug 验证站点 结果显示一切正常 并且您可以