【问题标题】:How to get Xdebug to connect when webhook call arrives via ngrok on MacOS当 webhook 调用通过 MacOS 上的 ngrok 到达时如何让 Xdebug 连接
【发布时间】:2021-10-26 18:02:52
【问题描述】:

我目前在 MacOS 10.14.6 上运行 Apache 2.4、PHP 7.2 和 Xdebug 2.9

目前我只能在我的 mac 上运行的浏览器中输入一个 URL 时使用 Xdebug,该浏览器由运行在同一台上的 Apache 处理。

当 webhook 调用通过 ngrok 隧道到达我的 Mac 并由 Apache 处理时,我希望能够使用 Xdebug 单步执行 PHP 代码。

我进行了一些研究,但没有找到任何具体的信息来说明执行此操作所需的内容。这可能吗?

提前致谢。

【问题讨论】:

    标签: php macos apache xdebug ngrok


    【解决方案1】:

    是的。您可以将 Xdebug 配置为始终尝试进行调试会话,而不是依赖浏览器的 GET/POST/COOKIE 参数。

    您必须将xdebug.remote_autostart 设置为yeshttps://2.xdebug.org/docs/all_settings#remote_autostart

    您还需要将 xdebug.remote_host 设置为运行 IDE 的机器的 IP 地址(可能与运行 ngrok 的机器相同,我将 >,只是本地主机)。所以设置:xdebug.remote_host=localhost.

    请注意,不再支持 Xdebug 2,我们建议您升级到 Xdebug 3。那里的配置名称将改为xdebug.start_with_request=yesxdebug.client_host=localhost(请参阅Upgrade Guide)。

    Xdebug 3 还有一个新的xdebug_info() 函数,可以告诉您它是如何配置的,以及它尝试连接的对象(如果有的话)。

    【讨论】:

    • 感谢您的回复德里克。我将设置 remote_autostart 并查看它是否有效。我意识到 Xdebug 3 现在是最新的,但需要将我的旧环境保留一段时间。将尽可能升级。
    猜你喜欢
    • 2018-08-14
    • 1970-01-01
    • 2023-01-22
    • 2020-03-14
    • 2019-05-23
    • 1970-01-01
    • 2017-01-30
    • 2019-02-01
    • 2019-11-12
    相关资源
    最近更新 更多