【发布时间】:2014-03-18 03:26:03
【问题描述】:
我正在测试我的应用程序以确保它在生产中正确处理错误,其中一项测试是它使用的 mysql 或 redis 服务是否已关闭。
我正在寻找它来显示 500 错误页面,但目前它显示的是空白页面。
我尚未在 Laravel 4 下对此进行测试,但我正在开发的应用程序正在使用 Laravel 3,并且对于生产,错误配置设置为不显示详细信息并改为记录。
我宁愿它转到 500 页面,这样至少用户知道在这种罕见的情况下有错误,它可能会关闭。
有人知道这是否可能吗?还是这就是 Laravel 4 中发生的事情?
[编辑 1]
在调查中,似乎 MySQL 连接直到我的第一个 db 调用才发生,因此我的第一个 db 调用位于 start.php 文件中。现在我可以将此调用包装在 try/catch 但此时我不能return Response::error('500'); 因为它不在路由或控制器中,并且Event::fire(500) 在此阶段也不起作用,因为它需要读取其他文件在诸如也有 db 调用的路由文件之后。
所以我现在寻找的是一种直接从 start.php 文件调用 500 错误页面的方法,并在此时停止应用程序运行,甚至在加载 routes.php 文件或任何其他文件之前。
有什么想法吗?
【问题讨论】:
标签: php mysql error-handling laravel laravel-3