mysql - Laravel 会在每次请求时连接到数据库。我怎样才能阻止这个?

标签 mysql laravel laravel-5

我正在使用 Laravel 5,我注意到在每次加载页面时,laravel 都会尝试连接到数据库。您可以通过为默认数据库设置无效凭据来检查此行为。你会在每次页面加载时得到一个错误,所以这意味着 Laravel 尝试连接到数据库。这甚至发生在维护模式页面上。

这是为什么?有什么可以阻止 Laravel 这样做的吗?不查询数据库的页面无需连接数据库。

最佳答案

Laravel 只有在第一次需要数据库时才真正连接到数据库。通常,这是您第一次查询数据库。如果您从不查询数据库,它就永远不会尝试连接到它。

这有点简化。您可能有一些自定义代码会出于某种原因检查与数据库的连接,这将需要连接到它,但这是一种不太常见的情况,您可能会知道。

如果您的应用程序在每次页面加载时都连接到数据库,这意味着您正在尝试在每次页面加载时运行查询。这可能意味着您有一个查询正在中间件、服务提供商甚至您的路由文件中运行。

如果您启用了调试,则 PDOExecption 从您的无效密码中提供的堆栈跟踪应该指向正在尝试的查询,以及它从哪里运行。

关于mysql - Laravel 会在每次请求时连接到数据库。我怎样才能阻止这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35392693/

相关文章:

mysql - 永不删除的关系数据库模式设计

Mysql插入多个,其中只有一个字段不同

javascript - 获取选择框以在不同的选择框中显示所选值

mysql - Jelastic MySQL 在空闲时使用大量内存

php - Laravel (5.3) Eloquent - 关系问题

php - Laravel 重构 - 如何重构我的方法?

php - laravel 社交名流显示 HTTP 错误 403 - 禁止谷歌登录

php - Laravel:无法在 Mailable 中设置语言环境

Laravel 从数据库或迁移脚本生成模型、 View 和 Controller

php - Laravel CRUD 删除不适用于外键