我是laravel的初学者。我遇到了一个laravel应用程序。因此,我需要处理所有类型的异常/错误。诸如ViewExceptions,ErrorExceptions等异常。我需要为所有这些系统异常,错误以及所有数据库或编码异常和错误显示一个 View 页面(处于维护状态的站点)。
我已经检查了Laravel Error handling,还用谷歌搜索了解决方案。但是更多的搜索使我感到困惑,无法解决。由于该应用程序已经在生产中,因此我无法更改每个 Controller 以处理异常。我猜,我只需要在App/Exception/Handler类中进行更改,但不确定如何工作。
我得到的表单搜索必须像Handler类中那样进行更改:
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Throwable $exception)
{
if ($exception instanceof CustomException) {
return response()->view('errors.site_down', [], 500);
}
return parent::render($request, $exception);
}
上面的代码没有显示是否存在ViewException。我观察到在.env中APP_DEBUG为true,而在config/app中为false。这会影响吗?
如何将所有异常或错误重定向到site_down页面?还请指导我在laravel中进行异常和错误处理。我越来越困惑。
提前致谢。
最佳答案
只是摆脱if语句:
/**
* Render an exception into an HTTP response.
*
* @param \Illuminate\Http\Request $request
* @param \Throwable $exception
* @return \Illuminate\Http\Response
*/
public function render($request, Throwable $exception)
{
return response()->view('errors.site_down', [], 503);
}
如果您试图声明该站点已关闭以进行维护,则您可能还希望返回503。在批评这种方法时,我认为对用户进行维护是对您的错误的不诚实和透明,并且从长远来看,这不会收回 yield 。
关于php - 在维护 View 页面下显示站点,了解laravel应用程序中的所有错误/异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62693369/