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未检测到调试触发信号(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
相关产品推荐
相关产品推荐

