sublime text 无法内置 php 运行时、xdebug 或 composer,全栈环境需外部拼装;调试依赖 xdebug v3+ 正确配置(xdebug.mode=debug、client_host/port、pathmappings 映射)、debugger 插件及浏览器 xdebug helper 触发,任一环节路径/端口/协议错位即断点失效。

Sublime Text 本身不内置 PHP 运行时、不自带 Xdebug、也不集成 Composer,所谓“全栈开发环境”必须靠外部组件拼装,且调试链路极其脆弱——Debugger 插件只监听连接,Xdebug 必须主动反向连入,Composer 完全依赖命令行调用。任何一环路径或端口错位,断点就变灰色,composer install 就报找不到命令。
确认 Xdebug 已加载并使用 v3+ 正确配置
新版 Xdebug(3.x)完全废弃 xdebug.remote_enable 等旧参数,用错就静默失效。必须在 php.ini 中启用以下最小集:
-
zend_extension指向正确的.so或.dll文件(php -m | grep xdebug和phpinfo()里必须出现 Xdebug 模块) -
xdebug.mode=debug(不是remote_enable=1) -
xdebug.start_with_request=trigger(避免全站拦截,靠 URL 参数触发) -
xdebug.client_host=127.0.0.1(Docker/WSL 用户填容器网关 IP,如172.17.0.1) -
xdebug.client_port=9003(默认值,Debugger插件也默认连这个端口)
改完必须重启 PHP-FPM 或 Apache/Nginx,再用 php -i | grep "xdebug.mode" 验证生效。Windows 用户务必检查防火墙是否放行 9003 端口——它不报错,只让断点永远不亮。
用 Debugger 插件而非 SublimeXdebug
SublimeXdebug 仅支持 Xdebug 2.x 和 ST3,对 PHP 8.2+、DAP 协议、多路径映射均不稳定;截至 2026 年初,Debugger 是唯一可靠选择。
- 通过
Package Control → Install Package → Debugger安装 - 启动后走
Tools → Debugger → Open Launch Configurations,选PHP模板生成配置,别手写 - 重点改
pathMappings:左边填 PHP 实际运行的绝对路径(如/var/www/html或C:/wamp64/www/myapp),右边填 Sublime 当前打开的项目根目录(可用${folder}变量) - 若项目跑在 Docker 里,左边必须是容器内路径(如
/app),不是宿主机路径——填错断点直接灰掉 - 保存后看状态栏右下角是否显示
Debugger: PHP,没出现说明配置未加载
浏览器必须带触发参数,且 PHP 文件要有 <?php
Sublime 不发起连接,Xdebug 才是主动方。没有触发,它根本不会往外发包。
- 装浏览器插件
Xdebug Helper(Chrome/Firefox 均可),点击虫子图标手动切到Debug模式(灰色→绿色) - 访问 URL 时必须带
?XDEBUG_SESSION_START=1(也可设为任意字符串,但需和ide_key匹配) - PHP 文件开头必须有
<?php,否则 Xdebug 直接跳过整个文件,Sublime 无任何提示 - 断点要点击行号左侧设成实心红点——灰色 = 路径映射失败或文件未被 Xdebug 加载
常见静默失败:从 Dock/macOS Spotlight 启动 Sublime,它不继承终端里的 PATH 和 php.ini 位置。解决方法只有两个:subl . 从终端启动,或把 php 和 php.ini 路径硬编码进构建系统或插件设置里。
Composer 集成只能靠终端或 Terminus 插件
Sublime 没有内置终端,composer 命令必须由系统 shell 执行。不要试图用构建系统封装 composer install —— 它无法交互、不能处理 prompt、路径变量也常错乱。
- 推荐安装
Terminus插件(Package Control → Install Package → Terminus) - 按
Ctrl+Shift+P输入Terminus: Open Default Shell in Panel,即可在底部面板运行composer install、composer update等命令 - 若需自动执行,可在项目根目录建
composer.json后,用快捷键绑定Terminus命令 + 自定义 shell 命令(如cd $folder && composer install) -
composer的全局路径必须已加入系统PATH(which composer或where composer能返回路径),否则 Terminus 也找不到命令
真正卡住人的从来不是配置项数量,而是路径映射方向搞反、Xdebug 版本与配置不匹配、或者 Sublime 启动方式导致环境变量丢失——这三处错一个,调试就停在“waiting for connection”不动。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











