如何避免未监听IDE时Xdebug报错及调试中断问题
解决Xdebug未监听报错及自动中断问题
一、修改Xdebug配置文件
找到你的PHP配置文件(比如php.ini或者单独的xdebug.ini),添加或修改以下参数:
屏蔽无监听时的错误提示:
把日志级别设为0,彻底关闭Xdebug的日志输出,这样连接失败的报错就不会再出现:xdebug.log_level = 0要是你还想保留其他严重错误日志,也可以设为1(只输出致命错误,连接失败的警告会被过滤)。
仅主动触发时启动调试:
把自动启动调试的参数改成trigger,这样平时执行PHP命令时,Xdebug不会主动去连PhpStorm,自然不会有连接失败的问题:xdebug.start_with_request = trigger
二、PhpStorm端取消自动中断
开启监听后,别让它每次都在脚本第一行停下来:
- 打开PhpStorm设置(快捷键
Ctrl+Alt+S或Cmd+,) - 找到
Languages & Frameworks > PHP > Debug - 取消勾选Break at first line in PHP scripts
这样就算PhpStorm开着监听,只要代码里没设断点,执行PHP命令时就会直接跑完,不会卡在调试器里。
三、按需触发调试
需要调试的时候,再主动触发:
- 命令行:执行命令前加个环境变量就行:
XDEBUG_TRIGGER=1 php artisan migrate - Web请求:用浏览器插件(比如Xdebug Helper)开启调试,或者手动给请求加
XDEBUG_TRIGGER参数。
这样不用频繁开关监听,也不用处理烦人的报错和中断,只有需要调试的时候才会触发连接。
内容的提问来源于stack exchange,提问作者user5228754
相关产品推荐
相关产品推荐

