【问题标题】:Why does Xdebug not get my connection, using PhpStorm为什么 Xdebug 没有得到我的连接,使用 PhpStorm
【发布时间】:2021-05-06 12:01:53
【问题描述】:

我似乎无法让我的 Xdebug 与 PhpStorm 一起工作。
它适用于 PHPUnit 测试,所以我假设这是我的本地服务器的问题。

现在,对于那些测试,我总是有相关测试类的配置(那些似乎是自动生成的)。我没有为我目前正在尝试测试的课程做好准备(我似乎记得它在某个时候工作并且从未有明确的配置,但我的记忆很模糊)。

我的调试配置:

我的 CLI 解释器(已注册 Xdebug):

我的 xdebug.ini 配置:

我正在尝试调试在 localhost 端口 80 上运行的 Magento 应用程序。

【问题讨论】:

  • 我在运行单元测试时有xdebug.mode = coverage,我认为必须“调试”才能在 PHPstorm 中使用
  • 所以你正试图从 phpstorm 以调试模式运行一个 php 文件?
  • 1) 请发布phpinfo() 输出的整个Xdebug 部分(也可能是xdebug_info()),以与您尝试调试相同的方式捕获(CLI 或网页)2)为此类不成功的调试会话显示您的 Xdebug 日志。它会尝试调试吗?它应该给出一些提示。 3)当它不工作时你试图调试什么:网页或CLI脚本?
  • @Hurrpadurr 我认为您在错误的 .ini 文件中写入了 xdebug 信息。 CLI 和 Web 服务器 .ini 文件不一样。找出 web .ini 文件的位置并将 xDebug 信息放入。应该可以解决问题
  • 我又看了一遍,结果证明你是 100% 正确的。我不知道为什么它之前曾经在网页上工作过,但我很高兴它现在可以工作。我学到了很多,感谢您的耐心等待!

标签: php phpstorm xdebug


【解决方案1】:

问题是我的 CLI 和 Web 服务器使用不同的配置。因此测试工作正常(使用 CLI 配置),但调试传入连接不起作用(使用 Webserver 配置)。

可以通过 phpinfo()(或 CLI 的 php -i)检查所使用的配置。 在我的例子中,CLI 配置可以分别在 /etc/php/{version}/cli 和 /etc/php/{version}/fpm 下找到。两者都包含一个名为 conf.d 的文件夹,其中必须放置所需模块的符号链接(对我来说,它们可以在 /etc/php/{version}/mods-available 下找到)。我在我的 .../fpm/conf.d 配置中添加了 Xdebug 的符号链接,它就像一个魅力。

再次感谢 cmets 的帮助。

【讨论】:

    猜你喜欢
    • 2014-08-29
    • 2015-09-25
    • 2016-10-01
    • 1970-01-01
    • 2019-08-04
    • 2020-09-23
    • 2011-08-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多