从 Laravel 错误页面中删除堆栈跟踪
Remove stack trace from Laravel error page
如何删除 Laravel 默认使用的冗长堆栈跟踪错误? (我知道它正在使用“点火”)
我发现的一些没有帮助的资源:
- this thread只提到如何完全禁用错误报告
- 当我在
app/Exceptions/Handler.php
中的 render()
方法中写任何东西时,就像提到的 here 我只得到错误 500,没有任何输出。
- person in this thread 甚至建议编写自己的 Laravel bootstrap 应用程序而不是使用默认应用程序,这会破坏 Laravel 框架语义,但这简直是疯了。
我还尝试通过
发布点火配置文件来查看 Ignition 的配置值
php artisan vendor:publish --provider="Facade\Ignition\IgnitionServiceProvider" --tag="ignition-config"
但是那个文件没有什么可配置的,你唯一能做的就是隐藏错误中的“共享”消息。
我只想要一个简单的经典 php 错误页面 file/line/error,没有堆栈跟踪,或者 没有 html 标记 。错误页面使得在 Web 浏览器之外的任何其他设备中调试输出变得非常困难。
只需覆盖您应用的异常处理程序中的 render()
方法。根据 the base class 中的评论,此方法必须 return 响应 object。
public function render($request, \Throwable $e)
{
return response()->view("exception", ["exception" => $e]);
}
然后让您的 blade 视图看起来像您想要的那样。
<!doctype html>
<title>Exception</title>
<body>
<p>
Exception of type <code>{{ get_class($exception) }}</code>
thrown in <code>{{ $exception->getFile() }}</code>
on line <code>{{ $exception->getLine() }}</code>.
</p>
</body>
如何删除 Laravel 默认使用的冗长堆栈跟踪错误? (我知道它正在使用“点火”)
我发现的一些没有帮助的资源:
- this thread只提到如何完全禁用错误报告
- 当我在
app/Exceptions/Handler.php
中的render()
方法中写任何东西时,就像提到的 here 我只得到错误 500,没有任何输出。 - person in this thread 甚至建议编写自己的 Laravel bootstrap 应用程序而不是使用默认应用程序,这会破坏 Laravel 框架语义,但这简直是疯了。
我还尝试通过
发布点火配置文件来查看 Ignition 的配置值php artisan vendor:publish --provider="Facade\Ignition\IgnitionServiceProvider" --tag="ignition-config"
但是那个文件没有什么可配置的,你唯一能做的就是隐藏错误中的“共享”消息。
我只想要一个简单的经典 php 错误页面 file/line/error,没有堆栈跟踪,或者 没有 html 标记 。错误页面使得在 Web 浏览器之外的任何其他设备中调试输出变得非常困难。
只需覆盖您应用的异常处理程序中的 render()
方法。根据 the base class 中的评论,此方法必须 return 响应 object。
public function render($request, \Throwable $e)
{
return response()->view("exception", ["exception" => $e]);
}
然后让您的 blade 视图看起来像您想要的那样。
<!doctype html>
<title>Exception</title>
<body>
<p>
Exception of type <code>{{ get_class($exception) }}</code>
thrown in <code>{{ $exception->getFile() }}</code>
on line <code>{{ $exception->getLine() }}</code>.
</p>
</body>