在 Laravel 开发中,调试能力基本决定了开发效率上限。
一个简单的 Bug,如果不会调试,可能要半天;
而熟练使用 Laravel Debug 工具,几分钟就能定位问题。
这篇文章整理一套实战中最常用的 Laravel 调试方法,从基础到进阶,帮助你快速提升排错能力。

一、最基础调试:dd() 和 dump()
Laravel 内置了两个非常常用的调试函数:
1. dd() —— 终止输出
dd($data);
特点:
- 打印变量内容
- 直接终止程序执行
- 最常用于快速定位问题
例如:
$user = User::find(1);
dd($user);
👉 适合:确认变量是否正确、接口是否走到某一步
2. dump() —— 不终止程序
dump($data);
特点:
- 仅输出内容
- 不影响后续代码执行
- 可以连续观察多个变量
dump($user);
dump($order);
👉 适合:逐步跟踪数据流
二、日志调试(Log)——线上必备
在生产环境中,不能用 dd(),必须靠日志。
Laravel 提供 Log 门面:
use Illuminate\Support\Facades\Log;
Log::info('用户信息', ['user' => $user]);
Log::error('接口异常', ['msg' => $exception->getMessage()]);

日志文件位置:
storage/logs/laravel.log
常见日志级别
- info:普通信息
- warning:警告信息
- error:错误信息
- debug:调试信息
👉 适合:
- 接口排查
- 异常记录
- 生产环境问题定位
三、推荐工具:Laravel Debugbar(强烈推荐)
1. 安装
composer require barryvdh/laravel-debugbar --dev
2. 自动启用(开发环境)
安装后默认开启(APP_DEBUG=true)
3. 功能非常强大
Debugbar 可以直接在浏览器底部显示:
- SQL 查询
- 请求信息
- 路由信息
- Session 数据
- View 渲染时间
- 内存占用
示例效果:
访问页面后直接看到:
- 执行了哪些 SQL
- 每条 SQL 耗时
- 是否有 N+1 问题
👉 适合:
- 性能优化
- SQL 排查
- Laravel 项目分析
四、SQL 调试技巧(非常关键)
1. 打印 SQL
dd($query->toSql());
2. 打印绑定参数
dd($query->getBindings());
3. 直接输出完整 SQL(推荐)
DB::listen(function ($query) {
dump($query->sql);
dump($query->bindings);
});
👉 适合:
- ORM 查询异常
- 慢 SQL 排查
- 数据错误定位
五、异常捕获调试(生产环境重点)
try {
// 业务代码
} catch (\Exception $e) {
Log::error('系统异常', [
'message' => $e->getMessage(),
'file' => $e->getFile(),
'line' => $e->getLine(),
]);
}
👉 可以快速定位:
- 哪一行报错
- 什么原因
- 哪个请求触发
六、推荐调试组合(实战经验)
一个成熟 Laravel 开发者通常这样搭配:
开发环境:
- dd() + dump()
- Laravel Debugbar
线上环境:
- Log + try/catch
- error log 监控
- SQL 记录分析
七、总结
Laravel 调试能力的核心就三点:
能看到数据
能看到 SQL
能看到错误链路
掌握以下工具基本够用:
- dd() / dump()
- Log
- Debugbar
- SQL listen
温馨提示:
本文最后更新于
2026-05-16 15:59:23,若文章内容或图片失效,请留言或联系站长反馈!
© 版权声明
本文发表于「海知新」,转载请注明出处。本站内容仅用于学习、记录与技术交流,部分资源来源于互联网,如有侵权请联系删除。
THE END














暂无评论内容