【问题标题】:PhpStorm, multiple Vagrant boxes, and xdebugPhpStorm、多个 Vagrant 框和 xdebug
【发布时间】:2023-03-12 12:17:01
【问题描述】:

我有两台流浪机器,“前端”和“后端”。 “前端”通过 curl 与“后端”通信。

如果我从 Postman 中点击“后端”,我的断点就会起作用。如果我从网络浏览器点击“前端”,我在“前端”中的断点可以工作,但“后端”中的断点不起作用。

在语言和框架 -> PHP -> 调试中,我设置了 Max。同时连接到 20 个。

我错过了什么?

【问题讨论】:

  • 你是如何配置你的xdebug的?它是否会自动开始调试(在每个页面/脚本执行时).. 还是需要 cookie/参数才能做到这一点?
  • @LazyOne 我对 xdebug 几乎一无所知,但是给你我的配置有帮助吗?每个虚拟机都有不同的 idekey 和 remote_host。 IP 地址是虚拟机的 IP 地址。 zend_extension = "/usr/lib/php5/20121212/xdebug.so" xdebug.remote_enable = 1 xdebug.remote_connect_back = 1 xdebug.idekey = "723453467" xdebug.remote_port = 9000 xdebug.scream = 1 xdebug.cli_color = 1 xdebug。 show_local_vars = 1 xdebug.remote_host = 192.168.50.42 xdebug.remote_autostart = 1
  • 嗯......你有xdebug.remote_connect_back = 1——这个选项将覆盖xdebug.remote_host = 192.168.50.42。如果请求从前端传递到后端.. xdebug 将尝试连接到前端而不是您的 IDE。这就是我可以从这些设置中说的。
  • @LazyOne 成功了。谢谢!我不能接受评论作为解决方案,但如果您将其作为答案发布,我会将其标记为问题的答案。

标签: vagrant phpstorm xdebug


【解决方案1】:

您拥有xdebug.remote_connect_back = 1 - 此选项将覆盖您为xdebug.remote_host 设置的任何值。

当您将请求直接发送到后端时,xdebug 会连接到 IDE,因为请求者 IP 与运行 IDE 的 IP 匹配。但是,如果请求是从前端发送到后端,那么 xdebug 将尝试连接回前端(实际请求者)而不是您的 IDE。

您需要设置xdebug.remote_connect_back = 0 并为xdebug.remote_host 提供正确的IP/主机名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    相关资源
    最近更新 更多