我正在尝试为我的应用启用调试,但看起来我没有任何反馈。
环境设置为本地(在.env文件中),如果我运行
php artisan env
我明白了
Current application environment: local
我本地环境的调试配置设置为true
return [
'debug' => true,
此外,如果我在我的主配置文件(配置文件夹中的app.php)中设置了debug = true
我仍然反馈说代码中有错误。
如果代码中有错误,我只有一个空页面(对于debug = false)
我错过了什么?
答案 0 :(得分:77)
我在我的主机(Mac OS X)上通过chmod -R 777 storage/
解决了这个问题。在我的来宾计算机上(Ubuntu 14.04)chmod -R 777 storage/
实际上没有更改权限。
答案 1 :(得分:13)
php artisan optimize
如果仍然无效,请删除forum topic on Laracasts
storage/meta/compiled.php
我遇到了同样的问题,而artisan
命令就解决了这个问题。
我发现解决存储文件夹相关问题的一种好方法是将www-data设置为其所有者。 我正在使用两个命令:
sudo chown $(whoami):www-data . -R
和
sudo chown www-data: storage -R
从Laravel 5.1开始,可能还需要在bootstrap文件夹上执行最后一个命令。
答案 2 :(得分:3)
我有一种情况,我有完全相同的症状,有些路线没有提供任何反馈,只有白页,日志中没有错误,根本没有信息。
原来,我正在添加一个新的中间件,我忘了从我的handle方法返回$next($request)
。这更令人沮丧,因为这个中间件并不适用于每条路线,所以我认为有一个间歇性错误被抛出但没有在这些路线上显示。
答案 3 :(得分:3)
正如布莱尔所说,可能会发现你在中间件或“异常/处理程序”中输入了一些错误的代码。例如:
if($e->getStatusCode()===404) { ... }
而不是
if($e instanceof NotFoundHttpException) { ... }
答案 4 :(得分:1)
为了完整起见,我在使用Model::findOrFail($someId)
的方法中发生错误时遇到了此问题。用Model::find($someId)
替换它显示错误日志。
答案 5 :(得分:0)
如果上述答案对您不起作用,您可能需要检查可能已更改的配置文件并从那里开始调试。
在我的情况下,上述解决方案对我没有用,因为我的问题的根本原因是改变了config / app.php文件中的时区(从laravel默认UTC我改为EST5EDT)。由于某种原因,时区设置更改阻止laravel记录存储文件夹中的错误,我得到空白屏幕(没有whoops!错误消息)。我改为将时区更改为America / New_York,错误日志再次正常运行。
希望这有帮助。
答案 6 :(得分:0)
对我来说,完美的功能是在 Homestead.yaml 文件中禁用hhvm,然后我做了 vagrant reload --provision ,就是这样!
答案 7 :(得分:0)
此外,如果您刚刚安装了流明,请确保您已在主应用程序目录中将.env.example
重命名为.env
,因为如果您的配置仍然被命名,它将无法正常工作环境文件仍被命名为{{1 }}
答案 8 :(得分:0)
我实际上是通过取消评论来解决问题
Dotenv::load(__DIR__.'/../');
中的bootstrap/app.php
。
因此它在编译之前实际加载并缓存它,如果你有Laravel(非流明),那么运行良好的php artisan optimize
会为你做这件事/
但是如果你查看他们的文档,默认情况下会被注释掉,我认为他们现在可以修复它http://lumen.laravel.com/docs/installation。
答案 9 :(得分:0)
转到 config / app.php ,如果是这样的话:
'调试' => env(' APP_DEBUG',false),
然后改为:
'调试' => env(' APP_DEBUG',true),
此。
答案 10 :(得分:0)
我也遇到了同样的问题,所以我检查了exceptions文件夹的handler.php文件,其中注释了具有返回值行的渲染函数,因此页面为空白。
public function render($request, Exception $exception)
{
//return parent::render($request, $exception);
}