与 PhpStorm 的连接未建立 Xdebug 3

Rus*_*lor 2 php xdebug phpstorm php-8

下午好。

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

Laz*_*One 6

Xdebug 3 将仅在 PhpStorm 2020.3版本中得到全面支持,目前处于 EAP 阶段(Early Access Program),将在大约 1 个月的时间内发布。

最近的EAP #6版本已经支持它:查看此博客文章了解更多信息: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_guidehttps://3.xdebug.org /docs/all_settings ) ...它在 PhpStorm 2020.2.3 中仍然可以正常工作

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

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

[xdebug]
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9001
xdebug.mode = debug
Run Code Online (Sandbox Code Playgroud)

(我有一些更多的设置,但这些是对输出文件名、日志位置、在某些场景/需要时快速打开某些选项的额外内容的自定义——这里不需要这些,没有它们也能正常工作)
在此处输入图片说明

从 IDE 启动的 CLI 调试(“PHP 脚本”类型的配置):
在此处输入图片说明

这就是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。

PS 如果我xdebug.start_with_request = yes在 php.ini 中设置,那么调试甚至可以用于运行(或在 IDE 之外执行该 PHP 脚本时)——只要“电话手柄”图标为绿色(IDE 侦听传入的调试请求)。