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 的相关文章

  • Vagrant + Xdebug + Atom

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

    我正在编写 PHP 程序一段时间了 我用一个Windows XP SP3 with PHP 5 4 SQlite 3 阿帕奇2 4作为开发环境 远程主机服务器 不是我的 是Windows Server 2008 with PHP 5 3 阿
  • rbenv 不断生成 vagrant shim

    我正在使用最新的 vagrant 和 rbenv 和各种红宝石 我正在使用最新的 vagrant 它不再使用 gem 当我执行 vagrant 命令时 我看到以下错误 rbenv vagrant command not found 我已经从
  • Vagrant 超时

    有一些问题让我的流浪汉站起来 拿到箱子就跑vagrant init之后vagrant up命令我收到此消息 Bringing machine default up with virtualbox provider gt default Im
  • 如何设置 Atom 的“styles.less”文件来突出显示 Python 中的函数和方法调用?

    我想让它像 Sublime Text 中那样突出显示 我按照建议尝试了here https discuss atom io t how to change the color of python function calls 22660 3
  • Visual Studio Code 插件(格式/拼写检查)

    使用新的 Visual Studio Code 编辑器与 1 这是not完整的 Visual Studio IDE 但基于atom io 的代码编辑器 我想安装专门用于拼写检查和格式化代码的插件 我怎样才能做到这一点 我已按照此处的说明进行
  • 如何向 Atom 的拼写检查词典添加单词?

    试图从 Atom 的拼写检查器中获得更多功能 但目前的误报使其变得不太有用 如何将单词添加到 Atom 词典中 使其不再显示为拼写错误 该功能已发布版本1 12 of Atom 实施于请求请求 120 https github com at
  • 如何更改 Atom 使用的默认 Python 版本?

    我最近开始使用Atom 在过去的几天里 我一直在寻找如何更改Atom中使用的默认版本 默认版本目前是python 2 7 但我想使用3 6 有谁可以更改默认路径吗 我尝试将配置文件添加到 脚本 包中 但当我重新启动 Atom 时 它仍然恢复
  • 如何将 PhpStorm 与 Xdebug 连接

    我希望这里有人可以帮助我解决我的问题 我最近进入了我的第一个 PHP 项目 需要设置调试 我知道很多人在我面前遇到了同样的问题 但我很难找到解决方案 我需要使用 Xdebug 设置 PhpStorm 并且所有设置使其仍然无法工作 当我开始调
  • Microsoft Edge 不会在 Vagrant VM 中加载本地 nginx 网站

    我遇到了一个奇怪的问题 Microsoft Edge 无法加载托管在 vagrant 虚拟机内的本地 Craft CMS 网站 任何加载本地配置的主机名或 IP 的尝试都会返回 嗯 我们无法访问此页面 错误 我的主机文件中有一行 192 1
  • php_ini 未设置为 php.ini 位置

    我正在尝试在 OSX 上安装适用于 XAMPP 的 MongoDB PHP 驱动程序 我的终端显示以下内容 configuration option php ini is not set to php ini location 这是什么意思
  • TypeScript/TSLint:TSLint 无法通过 baseUrl 识别根相对导入

    我通过以下方式使用根相对导入baseUrl编译器选项在tsconfig json 按照这个解决方案 https stackoverflow com a 42306860 1253298 但我遇到了一个问题 Atom IDE 向我显示如下所示
  • python - Atom IDE 如何启用自动完成代码以查看模块中的所有函数

    我正在为我的 python 项目使用atom IDE 在某些情况下有自动完成建议 但我想知道是否可以列出导入模块具有的所有可能功能 例如 如果我导入import urllib当我打字时urlib 并按 ctrl tab 想要查看包含可能使用
  • 为 PHP CLI 安装 Xdebug

    我在用着XAMPP http www apachefriends org tr index html在 Mac OS 上 尝试使用PHPUnit http phpunit de的代码覆盖率检查 这需要XDebug http phpunit
  • 如何设置 Atom 的脚本来运行 Python 3.x 脚本?与 Windows 7 Pro x64 的组合可能是问题吗?

    我正在尝试从 Notepad 切换到 Atom 但我无法在 Atom 中执行我的脚本 我跟着这个答案 https stackoverflow com a 25586345 2605073 所以我已经安装了script 这并不是很广泛 而且网
  • 为什么 XDebug 忽略 NetBeans 6.8 中的断点?

    我在 Ubuntu 10 04 笔记本电脑上运行 PHP 5 3 2 Apache 2 2 14 和 xdebug 2 2 0rc1 并且尝试在 Netbeans 6 8 中的本地主机上设置调试 我的问题是我在 Netbeans 中设置的断
  • Vagrant 的端口转发不起作用[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我在最后遇到了一个小问题入门指南vagrant http vagrantup com docs getting started ports html
  • 无法在 XAMPP 和 Windows XP 上安装 Xdebug

    我知道 这个问题已经被问过好几次了 但答案并没有解决我的问题 我在 Windows XP SP3 上运行 XAMPP 1 8 2 并且在安装 XDebug 时遇到困难 我从网站下载了XDebug 不幸的是 安装向导对我不起作用 我的 PHP
  • 流浪家园慢

    我有一个基于 Laravel Homestead 的 vagrant 服务器 用于在本地测试我的 Laravel 站点 大部分情况下它运行得很好 然而 最近 我遇到了问题 它会停止几分钟 典型 到几个小时 罕见 这种情况每 15 分钟左右就
  • 使用 Vagrant,为什么 puppet 配置比自定义打包盒更好?

    我正在创建一个虚拟机来模仿我们的生产 Web 服务器 以便我可以与新开发人员共享它 让他们尽快上手 我已经阅读过 Vagrant 文档 但是我不明白使用通用基础盒并使用 Puppet 配置所有内容与打包已安装和配置所有内容的自定义盒相比有何

随机推荐

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

    我的 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 验证站点 结果显示一切正常 并且您可以