未使用 PhpStorm 建立连接 Xdebug 3

Connection was not established Xdebug 3 with PhpStorm

下午好。

当尝试在 PHP 8 上调试脚本时,PhpStorm 报告没有与版本 3 xdebug 的连接。适用于 3 以下的所有版本。我尝试将 xdebug.remote_{host, port} 的参数更改为 xdebug.client_{host, port} 但也没有帮助。

Xdebug 3 将在 PhpStorm 2020.3 版本中完全支持,目前处于 EAP 阶段(抢先体验计划),大约 1 个月后发布。

它已在最新的 EAP #6 版本中得到支持:查看此博客 post 了解更多信息:https://blog.jetbrains.com/phpstorm/2020/11/phpstorm-2020-3-eap-6/


我已经在 Windows 10 上为我的 PHP 7.4 下载了 Xdebug 3.0.0beta1,从头开始配置它(使用正确的 Xdebug 3 配置值:https://3.xdebug.org/docs/upgrade_guide and https://3.xdebug.org/docs/all_settings)...和它在 PhpStorm 2020.2.3 中仍然可以正常工作。

是的,IDE 在启动 CLI 脚本调试时发送旧式参数(如 xdebug.remote_{host, port} 等),但调试仍然工作正常。

这是我的 php.ini Xdebug 3 设置内容(就这么简单):

[xdebug]
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9001
xdebug.mode = debug

(我有一些更多的设置,但这些是对输出文件名、日志位置的自定义,以及用于快速打开某些 scenarios/when 需要的某些选项的额外内容等等——这些这里不需要,没有它们也能正常工作)

从 IDE(“PHP 脚本”配置类型)发起的 CLI 调试:

这就是 IDE 正在执行的内容:E:\Projects\php\php74\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9001 -dxdebug.remote_host=127.0.0.1 E:\Projects\web\_idetest\test.php。如您所见,这些旧式参数根本不会影响 Xdebug 3。

P.S。如果我在 php.ini 中设置 xdebug.start_with_request = yes,那么即使 运行(或者在 IDE 之外执行那个 PHP 脚本时,调试也会工作)——只要“ phone handle" 图标为绿色(IDE 侦听传入的调试请求)。