我想显示页面 500 内部服务器错误 页面。当用户在项目中出现语法错误时,任何人都可以帮助我吗?如果我在语法上犯了一些错误,我想展示那个特定的刀片。
原文由 kunal 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想显示页面 500 内部服务器错误 页面。当用户在项目中出现语法错误时,任何人都可以帮助我吗?如果我在语法上犯了一些错误,我想展示那个特定的刀片。
原文由 kunal 发布,翻译遵循 CC BY-SA 4.0 许可协议
在您的 resources/views/errors
文件夹中创建一个名为 500.blade.php
的文件。
Laravel 可以轻松显示各种 HTTP 状态代码的自定义错误页面。例如,如果您希望为 500 个 HTTP 状态代码自定义错误页面,请创建一个
resources/views/errors/500.blade.php
。该文件将针对您的应用程序生成的所有 500 个错误提供。
问题是 Laravel 只会为 HttpException
的实例的异常自动呈现错误页面。不幸的是,当您的服务器抛出错误(方法不存在、变量未定义等)时,它实际上抛出一个 FatalErrorException
。因此,它未被捕获,并滴入 SymfonyDisplayer()
要么给你跟踪(调试真)或丑陋的单行“哎呀,看起来出了点问题”(调试假)。
为了解决这个问题,你已经将它添加到你的 render
方法到 app/Exceptions/Handler
# /app/Exceptions/Handler.php
# use Symfony\Component\Debug\Exception\FlattenException;
# public function render($request, Exception $e)
$exception = FlattenException::create($e);
$statusCode = $exception->getStatusCode($exception);
if ($statusCode === 404 or $statusCode === 500) {
return response()->view('errors.' . $statusCode, [], $statusCode);
}
原文由 Amit Gupta 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答3.1k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
1 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读
2 回答1.2k 阅读
1 回答1.2k 阅读
您需要创建处理程序来捕获
FatalErrorExceptions
在您的处理程序中,如下代码所示:处理 程序在
app/Exceptions/Handler.php
查看 请参阅
resources/views/errors/500.blade.php
。如果不存在则创建它。您可以从 Laravel 5 custom error view for 500 获得更详细的信息或其他方式