sublime text 本身不支持 php 断点调试,必须依赖 xdebug 扩展与 sublimexdebug 插件协同工作;需先确认 xdebug 已正确安装启用(通过 phpinfo 或 php -m 验证),再配置 php.ini(如 xdebug.mode=debug、xdebug.client_host=127.0.0.1、xdebug.client_port=9003),确保与插件端口、path_mapping 和 ide_key 严格一致,并手动按 f8 启动监听,配合浏览器带 xdebug_session_start 参数触发调试。

Sublime Text 本身不支持 PHP 断点调试,必须靠 Xdebug 扩展 + 外部插件协同工作;没装对 Xdebug 或没配 php.ini,SublimeXdebug 插件就永远收不到请求。
确认 Xdebug 已正确安装并启用
这是整个调试链路的起点。运行 php -m | grep xdebug(Linux/macOS)或 php -m(Windows,人工查找),输出里必须有 xdebug。更可靠的方式是新建一个 info.php 文件,内容为 <?php phpinfo(); ?>,用浏览器访问,搜索 “xdebug” —— 要看到完整模块信息,且状态为 enabled。
常见失效原因:
-
zend_extension路径写错(比如指向xdebug.dll却用在 Linux 上,或路径含空格没加引号) - PHP 版本与 Xdebug 版本不匹配(例如 PHP 8.2 用了 Xdebug 3.1 以下版本)
-
xdebug.mode=debug没设(Xdebug 3+ 必须显式开启) -
xdebug.client_host指向错误(本地开发通常用127.0.0.1,WSL 或 Docker 环境需换为宿主机 IP)
安装 SublimeXdebug 并配置监听端口
通过 Package Control 安装 SublimeXdebug 后,它默认监听 9003 端口(Xdebug 3 默认端口),但必须和 php.ini 中的 xdebug.client_port 一致。
关键操作:
- 菜单栏 → Preferences → Package Settings → SublimeXdebug → Settings
- 在右侧用户设置中添加:
"path_mapping": {"/var/www/html": "/Users/you/project"}(Linux/Mac 项目路径映射,Windows 类似) - 确保
"url": "http://localhost"与你实际访问 PHP 页面的 URL 一致(比如用 PHP 内置服务器时是http://localhost:8000) - 别漏掉
"ide_key": "vagrant"或"sublimetext"—— 这个值要和php.ini中的xdebug.idekey完全一致
启动调试前必须手动触发监听
很多人卡在这步:装完插件、改完配置,却点不了断点。因为 SublimeXdebug 不会自动监听,你得主动按 F8(或菜单 Tools → SublimeXdebug → Start Debugging)—— 底部状态栏会显示 “Listening on port 9003”。
此时再做两件事:
- 在 PHP 代码里加
xdump(1)或直接打断点(行号左侧单击) - 浏览器访问页面时,URL 后必须带
?XDEBUG_SESSION_START=sublimetext(或用浏览器插件如 Xdebug Helper 自动追加) - 如果用 PHP 内置服务器,命令要加
-t参数指定文档根目录,否则路径映射会失效
断点不命中?先查这三处
最常被忽略的是路径映射、IDE key 和客户端连接模式三者不一致。
-
php.ini中xdebug.log="/tmp/xdebug.log"开启日志,看是否报 “connection refused” 或 “no debug client” - 检查
xdebug.discover_client_host=off(禁用自动发现),改用明确的xdebug.client_host=127.0.0.1 - 确认 Sublime 的
path_mapping是“远程路径→本地路径”,不是反过来;且路径结尾不要斜杠 - Windows 下若用 XAMPP,
php.ini通常在C:\xampp\php\php.ini,改完必须重启 Apache
路径映射和 IDE key 错一位,断点就完全静默——没有报错,也没有响应,这是最折磨人的调试盲区。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











