网站PHP开启调试模式如何查看SQL语句?
在PHP开发过程中,查看实际执行的SQL语句有助于:
操作建议
- 验证ORM生成的语句是否符合预期
- 排查慢查询或执行失败的SQL
- 优化数据库操作逻辑
- 框架内置功能(如Laravel的
enableQueryLog
) - 数据库日志(MySQL的general_log)
- 手动记录SQL(通过钩子或中间件)
方法 | 适用场景 | 优缺点 |
---|---|---|
框架调试模式 | 使用Laravel/ThinkPHP等框架时 | ✅ 集成度高<br>❌ 仅限开发环境使用 |
var_dump($query) |
快速查看单条SQL | ✅ 简单直接<br>❌ 破坏代码结构 |
数据库日志 | 生产环境安全排查 | ✅ 记录完整会话<br>❌ 需要服务器权限 |
- 开发阶段:优先使用框架提供的
->toSql()
或监听查询事件 - 生产环境:通过数据库日志文件(如
/var/log/mysql.log
)分析 - 紧急调试:临时添加
dd(DB::getQueryLog())
(示例为Laravel语法)
- 生产环境务必关闭调试模式以防敏感信息泄露
- MySQL日志会显著影响性能,排查后应立即关闭
更新时间:2025-06-02 14:11:04
上一篇:PHP文件上传失败问题排查指南