You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MacOS下Visual Studio Code中Xdebug调试失效问题排查与解决

问题:brew升级后VS Code中PHP调试失效,断点无法触发

执行brew升级操作后,Visual Studio Code中的PHP代码调试功能失效,脚本运行时无法在断点处停止。已通过PHP info确认Xdebug已加载,其配置文件(/usr/local/etc/php/7.4/conf.d/ext-xdebug.ini)未做修改,内容如下:

[xdebug]
    zend_extension=xdebug
    xdebug.mode=debug
    xdebug.client_port = 9003
    xdebug.discover_client_host = false
    xdebug.log=/Users/marekstrop/zdroje/logs/xdebug_log.log
    xdebug.log_level=10;
    xdebug.output_dir=/Users/marekstrop/zdroje/tmp

运行PHP脚本时的Xdebug日志输出:

[1363] Log opened at 2023-09-06 06:24:59.552564
[1363] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[1363] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[1363] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[1363] [Config] DEBUG: Checking if trigger 'XDEBUG_TRIGGER' is enabled for mode 'debug'
[1363] [Config] INFO: Trigger value for 'XDEBUG_TRIGGER' not found, falling back to 'XDEBUG_SESSION'
[1363] [Config] INFO: Trigger value for 'XDEBUG_SESSION' not found, so not activating
[1363] Log closed at 2023-09-06 06:24:59.570291

xdebug_info输出:
xdebug_info输出

问题分析

从日志信息可明确:Xdebug未检测到调试触发信号(XDEBUG_TRIGGER或XDEBUG_SESSION),因此未激活调试模式。brew升级可能更新了Xdebug版本(Xdebug 3.x默认需要触发信号才启动调试),而原有配置缺少自动启动调试的关键参数。

解决方法

在Xdebug配置中添加xdebug.start_with_request=yes参数后,调试功能恢复正常。修改后的完整配置如下:

[xdebug]
    zend_extension=xdebug
    xdebug.mode=debug
    xdebug.client_port = 9003
    xdebug.discover_client_host = false
    xdebug.start_with_request=yes
    xdebug.log=/Users/marekstrop/zdroje/logs/xdebug_log.log
    xdebug.log_level=10;
    xdebug.output_dir=/Users/marekstrop/zdroje/tmp

内容的提问来源于stack exchange,提问作者user3523426

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:17:32