database - Laravel:如果 session 数据库不可用,则优雅地回退

标签 database session laravel

如果 session 存储引擎不可用,是否有中间件、包或通用方法让 Laravel 优雅地回退到无 session 状态?

也就是说,假设您有一个使用数据库 session 引擎的系统。如果该数据库出现故障,Laravel 将在无法连接到数据库时抛出异常。相反,我想要一种方法让 Laravel 抛出异常,并在没有工作 session 引擎的情况下继续。

(我意识到这将意味着在应用程序级别仔细编码,永远不要假设 session 可用,但预先感谢您的所有警告)

要更正的用例:

  • session 存储系统暂时关闭(维护时段、意外中断等)。

  • 登录用户点击一个页面,看到 Laravel 错误页面,因为 session 引擎无法连接

  • 用户很难过

我宁愿用户看到某种正常的网页而不是一般的错误消息,即使这意味着我们不能在页面上包含有状态的 session 数据。

最佳答案

这取决于,Laravel 并不总是需要 session 引擎来工作,仅在实际使用它的页面上。所以这意味着回退基本上无济于事 - 事实上,异常是 Laravel 实际上可以做的最好的事情来帮助你。

为什么?因为可能会出现异常,如果这是您想要做的(即使它几乎没有意义),请忽略。

也许我理解错了,你到底想退回到什么?

关于database - Laravel:如果 session 数据库不可用,则优雅地回退,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26044205/

相关文章:

php - Laravel 4.2 简单 session 逻辑不起作用

php - Laravel 5/Codeception 未正确路由

java - 在Java中使用SQLite实现登录系统有很大困难

php - 3rd NF 中数据库中点的计算

objective-c - 如何构建一个在离线输入数据时同步的应用程序?

node.js - socket.io 不存储 session

database - 停止 Cassandra 物化 View 构建

php - 警告 : Cannot modify header information - headers already sent (PHP)

Laravel 5.2 php 工匠路线不起作用

php - 如何从 laravel 5 中的两个相关表中获取数据