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

发布时间 - 2026-01-07 00:00:00    点击率:
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 -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激活参数。有三种常用方式:

  • 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模板均可断点进入。


# php  # linux  # laravel  # sublime  # docker  # windows  # apache  # nginx  # chrome  # Cookie  # 作用域  # ide  # macos  # sublime text  # http  # 行号  # 命令行  # 加载  # 设为  # 均可  # 停在  # 可通过  # 重启  # 首个  # 有三种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 郑州企业网站制作公司,郑州招聘网站有哪些?  Swift中循环语句中的转移语句 break 和 continue  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  大连 网站制作,大连天途有线官网?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】  Android实现代码画虚线边框背景效果  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  什么是javascript作用域_全局和局部作用域有什么区别?  微信小程序 配置文件详细介绍  Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】  大连网站制作公司哪家好一点,大连买房网站哪个好?  如何为不同团队 ID 动态生成多个“认领值班”按钮  简单实现Android文件上传  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  Laravel如何记录自定义日志?(Log频道配置)  实例解析angularjs的filter过滤器  Laravel如何实现API版本控制_Laravel API版本化路由设计策略  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  IOS倒计时设置UIButton标题title的抖动问题  桂林网站制作公司有哪些,桂林马拉松怎么报名?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  Python文件异常处理策略_健壮性说明【指导】  nodejs redis 发布订阅机制封装实现方法及实例代码  iOS UIView常见属性方法小结  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  详解jQuery停止动画——stop()方法的使用  高防服务器如何保障网站安全无虞?  非常酷的网站设计制作软件,酷培ai教育官方网站?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  详解Android——蓝牙技术 带你实现终端间数据传输  使用豆包 AI 辅助进行简单网页 HTML 结构设计  想要更高端的建设网站,这些原则一定要坚持!  JavaScript如何操作视频_媒体API怎么控制播放  如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环  如何选择PHP开源工具快速搭建网站?  如何用y主机助手快速搭建网站?  百度输入法ai组件怎么删除 百度输入法ai组件移除工具  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  javascript中的数组方法有哪些_如何利用数组方法简化数据处理  Laravel API资源类怎么用_Laravel API Resource数据转换