如果 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/