我在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
没有修复它。
答案 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'
查看文档:{{3}}
并找到:
忽略按类型划分的例外情况
异常处理程序的$ dontReport属性包含一个数组 不记录的异常类型。例如,例外 由404错误以及其他几种类型的错误导致 不会写入您的日志文件。您可以添加其他异常类型 根据需要到这个数组
答案 4 :(得分:0)
这解决了我的问题,如果您删除vendor\laravel\framework\src\Illuminate\Foundation\Exceptions\views\404.blade.php
文件,您将得到whoops显示的异常和堆栈跟踪。确保您没有拥有resources\views\errors\404.blade.php file too
。