Sublime开发PHP Laravel项目_配置Xdebug进行断点调试

15次阅读

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

Sublime开发PHP Laravel项目_配置Xdebug进行断点调试

安装并启用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 -vphpinfo()确认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(不是developoff
  • 确认xdebug.client_host指向Sublime所在机器(docker环境常需设为宿主机IP,如10.0.2.2
  • 确认防火墙未拦截9003端口(特别是Windows Defender或Mac防火墙)
  • 查看xdebug.log文件,搜索Connection failedCould not connect线索
  • Sublime中执行Tools → Xdebug → Stop Debugging再重新Start,避免残留监听

基本上就这些。Laravel本身无特殊调试限制,Xdebug工作正常时,路由、控制器、Blade模板均可断点进入。

text=ZqhQzanResources