Laravel:从5.4升级到5.5后调试屏幕没有显示

时间:2018-06-26 14:44:20

标签: php laravel debugging

我将我的应用程序从Laravel 5.4升级到5.5。现在,当我输入错误的URL时,没有向我显示未找到异常的调试页面,而是向我显示了一个漂亮的404页面,上面写着“抱歉,找不到您要查找的页面”。这与在APP_DEBUG=false文件中具有.env的生产环境中运行应用程序时的情况类似。但是在这里,我在本地环境中设置了APP_DEBUG=trueAPP_ENV=local

可能出什么问题了?

4 个答案:

答案 0 :(得分:1)

Laravel 5.5现在包括各种HTTP状态代码(包括404)的错误页面。如果没有任何自定义错误页面,则使用这些错误页面。

如果您检查laravel\framework\src\Illuminate\Foundation\Exceptions\views文件夹,则会看到这些错误页面。而这些在v5.4中是不存在的。

您可以选中official documentation来自定义404页面。

当Laravel抛出NotFoundHttpException异常时,它由App\Exceptions\Handler类中的render方法处理。然后根据异常情况,在此处准备响应。对于这个特殊的异常,Laravel使用404错误视图文件准备响应。

例如,如果您删除vendor\laravel\framework\src\Illuminate\Foundation\Exception‌​s\views\404.blade‌​.ph‌​p文件,您将得到whoops显示的异常和堆栈跟踪。前提是您也没有resources\views\errors\404.blade.php文件。

因此,如果您想捕获NotFoundHttpException异常,可以通过render类中的App\Exceptions\Handler方法执行此操作:

if ($exception instanceof NotFoundHttpException) {
    throw $exception;
} else {
    return parent::render($request, $exception);
} 

答案 1 :(得分:0)

Laravel在其IOC容器上进行了一些缓存,因此请确保清除配置缓存:

php artisan config:clear

为了运行它

php artisan view:clear

然后最终通过以下方式设置新的配置缓存:

php artisan cache:config

可以在bootstrap/cache/config.php

中找到文件本身

答案 2 :(得分:0)

仅是为了帮助该功能中的某人。.升级后,我也没有专门遇到此问题。

我的环境设置为本地,而应用程序调试设置为true,但仍然像我在生产中看到的那样向我显示“ 500错误模板”。我喜欢用堆栈跟踪而不是“ whoops”错误,因为我在本地环境中。

这里提出的所有可能的解决方案以及其他论坛都没有帮助我,除了以下我不小心做的事情。

以隐身模式转到相同的网址并登录该应用,它向我显示了带有堆栈跟踪的错误页面。

因此,我尝试通过清除浏览器缓存并在同一隐身窗口中重新加载URL来再次复制该问题,这一次它显示了500个错误模板。

答案 3 :(得分:-1)

laravel 5.5 中,您必须检查 APP_DEBUG,APP_LOG_LEVEL,APP_ENV
您的 .env 文件中的内容应类似于

APP_DEBUG=true
APP_LOG_LEVEL=debug

和您的config \ app.php如下

'env' => env('APP_ENV', 'development'),
'debug' => env('APP_DEBUG', true),