我以前在5.1和5.0中有过Whoops;但是从5.2开始我之前使用的实现不再有效。
我一直无法找到按原样实施Whoops 2.0到Laravel 5.2的方法。
有什么建议吗?
答案 0 :(得分:4)
只需将此方法添加到app/Exceptions/Handler.php
文件中,它就会覆盖将生成Symfony错误响应的现有方法。如果应用程序处于配置模式,它将返回Whoops响应。如果您要构建某种API,则可能需要使用JsonResponseHandler
而不是PrettyPageHandler
,这样可以为异常提供良好的JSON响应。
/**
* Create a Symfony response for the given exception.
*
* @param \Exception $e
* @return mixed
*/
protected function convertExceptionToResponse(Exception $e)
{
if (config('app.debug')) {
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
return response()->make(
$whoops->handleException($e),
method_exists($e, 'getStatusCode') ? $e->getStatusCode() : 500,
method_exists($e, 'getHeaders') ? $e->getHeaders() : []
);
}
return parent::convertExceptionToResponse($e);
}
答案 1 :(得分:1)
4天前部署了Whoops 2.1。我只是尝试使用Laravel 5.2,它运行得很好。
我只是按照Matt Stauffer的教程。
https://mattstauffer.co/blog/bringing-whoops-back-to-laravel-5