APP_DEBUG = true被忽略

时间:2016-10-22 15:44:25

标签: php laravel laravel-5 laravel-5.3

我在APP_DEBUG=true文件中有.env

APP_ENV=local
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://test.dev

我故意使用不正确的错误网址(例如:test.dev/asdsadsa),但不在web.php路由文件中。

当路由不存在时,我希望得到一个laravel调试错误

Sorry, the page you are looking for could not be found.
NotFoundHttpException in RouteCollection.php line 161:

然而,它一直显示404错误页面(views / errors / 404.blade.php),即使APP_DEBUG设置为true。

我尝试过:

1 - 我甚至测试过以确保laravel可以读取.env文件:

Route::get('/', function() { 
  dd(env('APP_DEBUG')); 
});

返回true

2 - php artisan config:cache没有解决它。

3 - chmod -R 777 storage没有修复它。

5 个答案:

答案 0 :(得分:3)

如果views/errors中有404错误页面,则会显示该错误页面,如果还没有,则会显示NotFoundHttpException

答案 1 :(得分:2)

我在这里玩游戏已经很晚了,但如果没有其他效果,请尝试清除所有缓存然后运行:

php artisan optimize:clear

答案 2 :(得分:1)

只需在错误视图中添加这两行,例如在views\errors\404.blade.php

<?php $e = new Symfony\Component\Debug\ExceptionHandler(); ?>
<?php echo getenv('APP_DEBUG') == 'true' ? $e->getContent(Symfony\Component\Debug\Exception\FlattenException::create($exception)) : ''; ?>

这将在您的自定义404错误页面中显示laravel调试错误。

答案 3 :(得分:0)

删除请确保App\Exceptions\Handler此行中$dontReport没有:

'Symfony\Component\HttpKernel\Exception\HttpException'

screenshot

查看文档:{​​{3}}

并找到:

  

忽略按类型划分的例外情况

     

异常处理程序的$ dontReport属性包含一个数组   不记录的异常类型。例如,例外   由404错误以及其他几种类型的错误导致   不会写入您的日志文件。您可以添加其他异常类型   根据需要到这个数组

答案 4 :(得分:0)

这解决了我的问题,如果您删除vendor\laravel\framework\src\Illuminate\Foundation\Exception‌​s\views\404.blade‌​.ph‌​p文件,您将得到whoops显示的异常和堆栈跟踪。确保您没有拥有resources\views\errors\404.blade.php file too