我曾经对 Xdebug 2 有以下配置:
xdebug.default_enable=1
当没有调试客户端正在侦听时,Xdebug 不会减慢执行速度,但是当我需要调试某些内容时,我只需在 PhpStorm 中启用侦听并刷新页面即可。为此不需要浏览器扩展。这同样适用于调试 CLI 应用程序,它确实有效。
我尝试使用 Xdebug 3 实现相同的效果,配置如下:
xdebug.mode=debug
xdebug.start_start_with_request=yes
它的工作原理相同,但每次当我在 PhpStorm 中禁用调试侦听并运行 CLI 命令时,我都会收到以下消息error严重程度:
Xdebug: [Step Debug] Could not connect to debugging client. Tried: 172.17.0.1:9003 (through xdebug.client_host/xdebug.client_port) :-(
这是我可以忍受的事情,但它也会导致 PHPUnit 测试失败beStrictAboutOutputDuringTests="true"
已启用。
升级guide建议使用xdebug.module=develop
如果我用过xdebug.default_enable=1
但这不是有效的替代品。
完全静默所有 Xdebug 日志,甚至禁用 PHP 中的错误报告this对我来说,评论看起来是一个肮脏的黑客行为,可能存在缺陷,而不是有效的解决方案。
如果没有此消息,我如何才能保持预期的行为?
Xdebug 3 现在在收到指示时发出警告(通过xdebug.start_with_request=1
或者使用 COOKIE 或 GET 参数),并且它无法连接到您的 IDE。以前很多人在让 Xdebug 工作时遇到问题,这个警告对于他们指出出现问题非常有用。
The correct不显示错误消息的方法是根本不指示 Xdebug 连接到您的 IDE。
我建议使用xdebug.start_with_request=trigger
然后使用浏览器扩展作为触发器(https://xdebug.org/docs/step_debug#browser-extensions),或者通过导出export XDEBUG_SESSION=yourname
在命令行上。
Setting xdebug.log_level=0
意味着你隐藏all警告和错误,这使得调试任何东西都变得不可能。不要那样做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)