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

停止调试时Xdebug不终止PHP脚本,如何设置自动杀死对应进程?

解决方法

1. 调整VSCode PHP Debug启动配置

你只需要在现有的launch.configurations的PHP Debug配置项中,新增"killProcessOnStop": true参数即可,该参数会控制VSCode在你触发停止调试操作时,主动杀掉本次调试启动的PHP CLI进程。
修改后的完整配置参考:

"launch": {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "PHP Debug",
            "type": "php",
            "request": "launch",
            "program": "${workspaceFolder}/xdebug.php",
            "cwd": "${workspaceFolder}",
            "runtimeArgs": [
                "-dxdebug.log=/tmp/xdebug.log",
            ],
            "env": {
                "XDEBUG_MODE": "debug",
                "XDEBUG_TRIGGER": "true",
                "XDEBUG_CONFIG": "client_port=${port}",
            },
            "internalConsoleOptions": "openOnSessionStart",
            // 新增以下配置项
            "killProcessOnStop": true
        },
    ],
},

2. 可选:补充Xdebug配置(针对特殊场景)

如果调整VSCode配置后仍不生效,可以在php.ini的Xdebug配置段新增以下配置,让Xdebug检测到调试客户端断开连接后自动终止脚本执行:

xdebug.remote_cookie_expire_time = 0
xdebug.max_nesting_level = 256

验证效果

修改配置后重启VSCode,重新运行调试测试脚本,启动调试后立刻点击停止按钮,查看后台PHP进程,即可看到对应进程已被终止,不会继续运行sleep逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 06:30:03