php - 在维护 View 页面下显示站点,了解laravel应用程序中的所有错误/异常

标签 php laravel exception error-handling

我是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/

相关文章:

php - 电子邮件 Div 内容

php - Laravel 返回的奇怪日期

php - Elasticsearch与其他类型的现有映射冲突

wpf - 枚举到 Brush IValueConverter 尝试将 System.String 转换为 IValueConverter 时抛出异常?

java - 错误 :Execution failed for task : java. util.zip.ZipException : duplicate entry: android/support/v4/graphics/BitmapCompat. 类

php - 无法在网页上显示图像,图像路径存储在数据库中

php - 在 php 中将数组的数组导出到 Excel

php - 如何使用之前输入的值填充自定义结帐字段,例如默认的 WooCommerce 结帐字段?

php - 如何访问 Carbon 对象类型?

Android 广播接收器错误 : Class not found exception