【问题标题】:Xdebug with PhpStorm works fine from CLI, not from browser带有 PhpStorm 的 Xdebug 在 CLI 中运行良好,而不是在浏览器中
【发布时间】:2017-11-10 12:35:22
【问题描述】:

我正在尝试使用 Xdebug 和 PhpStorm 进行调试。我过去设置了好几次,没有太多问题。不过这一次事情进展得并不顺利。

我目前在php.ini中的配置如下:

zend_extension = "c:\xampp2\php\ext\php_xdebug.dll"

xdebug.remote_enable=1
xdebug.remote_port=9000
xdebug.remote_host=127.0.0.1
xdebug.remote_cookie_expire_time=3600
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.idekey=PHPSTORM
xdebug.remote_log="c:\xampp2\tmp\xdebug.txt"

xdebug.remote_autostart=1

添加xdebug.remote_autostart 可确保在从 CLI 运行脚本时建立连接。但是通过 Apache 调用脚本时它仍然不起作用。

我检查了 Xdebug 日志,没有发现任何异常:https://pastebin.com/4rK8pJqt

最明显的原因是 CLI 和 Apache 有单独的 php.ini 文件,但事实并非如此。我只有一个 php.ini 文件,并且我已经验证 Xdebug 设置在浏览器的 phpinfo 中显示得很好。请参阅下面的屏幕截图。

是否有任何特定设置可能导致 Xdebug 无法连接到 PHPStorm?或者是否有人知道 Xdebug 或 PhpStorm 中可能导致此问题的任何错误?

【问题讨论】:

  • 那是很久以前的事了,但我记得有一些浏览器扩展可以运行 xdebug :)
  • 我试过书签,手动设置cookies、扩展和remote_autostart。这些都不起作用。正如您在日志中看到的,xdebug 正在成功建立连接。所以问题一定出在其他地方。

标签: phpstorm xdebug


【解决方案1】:

我已经确定了问题。反正有点。

禁用“通过未注册的服务器配置忽略外部连接”后,它开始工作。然后我查看了 PhpStorm 中的服务器配置,看起来非常好,所以我再次禁用此设置进行了尝试,效果也很好。

所以,要解决我的问题,我必须:

  1. 转到文件 -> 设置。
  2. 转到语言和框架 -> PHP -> 调试。
  3. 取消选中“通过未注册的服务器配置忽略外部连接”。
  4. 运行脚本以从浏览器触发 Xdebug。
  5. 再次进入设置并再次启用相同的设置。

现在一切都像魅力一样!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-08-18
    • 2019-03-16
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多