Xdebug 3.x需配置php.ini启用调试模式并指定客户端地址端口,Sublime通过Xdebug Client插件监听9003端口,Laravel项目可通过URL参数、浏览器插件或命令行触发调试会话。

安装并启用Xdebug扩展
确保PHP环境中已安装Xdebug,且版本与PHP版本兼容(推荐Xdebug 3.x)。在php.ini中添加以下配置:
- zend_extension=xdebug.so(Linux/macOS)或 xdebug.dll(Windows)
- xdebug.mode=debug
- xdebug.start_with_request=trigger
- xdebug.client_host=127.0.0.1
- xdebug.client_port=9003(Xdebug 3默认端口)
- xdebug.log=/tmp/xdebug.log(调试时可开启,定位连接问题)
重启Web服务器(如Apache/Nginx)或PHP内置服务器后,运行php -v或phpinfo()确认Xdebug已加载。
Sublime Text安装Xdebug Client插件
使用Package Control安装Xdebug Client(注意:不是“Xdebug”旧版插件)。安装后无需额外配置即可识别默认端口9003。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(macOS),输入Install Package,搜索并安装Xdebug Client - 安装完成后,通过
Ctrl+Shift+X(或菜单Tools → Xdebug → Start Debugging)启动监听 - 断点设置:点击代码行号左侧灰色区域,出现红色圆点即设好断点
触发调试会话(浏览器端)
Laravel项目需让请求携带Xdebug激活参数。有三种常用方式:
立即学习“PHP免费学习笔记(深入)”;
-
URL参数:在浏览器访问
http://your-app.test/?XDEBUG_SESSION_START=1(Xdebug 3中XDEBUG_SESSION_START仍有效,也可用XDEBUG_SESSION) - 浏览器插件:安装Chrome插件Xdebug Helper,点击图标启用调试,自动注入Cookie
-
命令行调试:使用
php artisan serve启动时,Xdebug会响应IDE的监听;配合XDEBUG_CONFIG="idekey=sublime"环境变量更稳妥(非必需)
页面加载后,Sublime会自动捕获请求,停在首个断点,变量面板显示当前作用域变量。
常见问题排查
如果断点不生效或连接失败,优先检查以下几项:
- 确认
xdebug.mode=debug(不是develop或off) - 确认
xdebug.client_host指向Sublime所在机器(Docker环境常需设为宿主机IP,如10.0.2.2) - 确认防火墙未拦截9003端口(特别是Windows Defender或Mac防火墙)
- 查看
xdebug.log文件,搜索Connection failed或Could not connect线索 - Sublime中执行Tools → Xdebug → Stop Debugging再重新Start,避免残留监听
基本上就这些。Laravel本身无特殊调试限制,Xdebug工作正常时,路由、控制器、Blade模板均可断点进入。











