您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Laravel 中 SQL Debug 小技巧

2026/1/8 20:58:33发布28次查看
基于某些原因,你不能使用 laravel debugbar ,这篇文章可能会帮到你。
针对 laravel 应用的优化远远不止消除 n+1 问题那么简单。合理的使用 laravel debugbar 可以对模型内存的使用以及 sql 查询时效等问题给出合理的解决方案。
可能你并不喜欢使用 laravel debugbar,或者基于某些原因而不能使用(比如基于接口应用的开发),那么 database listener 将会是个不错的方法,他将记录你的 sql 查询到日志。
这在生产环境与测试环境同样适用,你可以很简单的通过 env 或者 config 控制它的启用与否。
如何使用:
将此添加到你的 appserviceprovider 的启动方法中
if (env("sql_debug_log")) { db::listen(function ($query) { log::debug("db: " . $query->sql . "[". implode(",",$query->bindings). "]"); }); }
如果你在生产环境中使用它的话,我建议你可以把 config 中的配置信息放到 env 中,然后你还可以(并且应该)缓存这个 config 信息
我发现另一个问题是假如 sql 调用本身失败,会抛出一个异常,在成功调用前其监听的 db::listen 并不会进行记录,并且该异常会在返回到监听之前发生。
推荐教程:《php教程》《laravel教程》
以上就是laravel 中 sql debug 小技巧的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product