我有一个项目,我想使用 Xdebug 扩展在浏览器中调试网站。我在 PhpStorm 工作。
在出现问题之前,我有 Xdebug 3.1.5 和 PHP 8.0,它可以与 php.ini 的以下 Xdebug 配置一起使用:
xdebug.mode=debug
xdebug.client_port=9003
xdebug.idekey=PHPSTORM
xdebug.discover_client_host = 1
xdebug.start_with_request = trigger
现在,当我更新到 Xdebug 3.2.0 时,相同的配置不起作用...... 当我在 PhpStorm 中删除服务器时,PhpStorm 中将不会自动检测到传入的 Xdebug 连接。
我现在需要使用 Xdebug 3.2.0 更改一些内容吗?
注意“xdebug.start_with_request=”选项!如果您想使用自动反向连接,“xdebug.start_with_request=trigger”对于 PHPSTORM 来说是一个完全正确的选项。是的,我已经测试过了。 Xdebug 的作者在 Xdebug3 版本中做出了巨大的改变(我花了很多时间从源代码编译它并弄清楚它是如何工作的)。 这个选项(而不是“yes”)支持像 Xdebug2 中那样的连接。 “是”将为 PHPSTORM 中的主调试过程生成“等待连接”,因为不在会话标头中发送“ide_key”。但是您可以使用它(我的意思是“是”)进行测试,将 PHPSTORM 中的“监听...连接”设置为“打开”(PHPSTORM 界面中主调试按钮左侧的小错误按钮)。 Xdebug 代码中作者的一些注释: https://github.com/xdebug/xdebug/blob/12adc6394adbf14f239429d72cf34faadddd19fb/xdebug.ini#L997