Laravel 报错白屏怎么破?

分享 gold3bear ⋅ 于 3年前 ⋅ 最后回复由 pfw3001 8个月前 ⋅ 10541 阅读

不知道碰了哪里的配置,

  • 我设置了本地 local/app.php debug=>true
  • 我是在Homestead里面运行的;
  • 报错有时候有用,例如找不到类或者方法;
  • 较为低级的一些错误,例如语法错误,只显示空白连whoop~都没有;
  • 要看错误必须得到laravel的日志里面看;
  • config/app.php设为debug=>true,没有用

是哪里设置有问题吗?

成为第一个点赞的人吧 :bowtie:
回复数量: 17
  • Frewen
    3年前

    尝试着把laravel的debug模式开启。 app/config/app.php 文件中 'debug' => false,修改成 'debug' => true。

    运行日志是在 app/storage/logs/laravel.log

  • johnlui
    3年前

    显示空白可能是 /app/storage 权限的问题。

  • Summer MOD A Life-long learner.
    3年前

    检查下 app/start/global.php 文件里面的

    App::error(function(Exception $exception, $code)
    {
        Log::error($exception);
    });

    是否修改过.

  • lifesign Learn From Life
    3年前

    默认情况下 homestead 应该就是 local 环境 不过还是保险一点 执行 php artisan env 看下是否真的是 local 环境 /app/storage 的权限也看下是否设置正确。 其他的如同楼上两位所说的查看下吧。

  • quickgreen
    3年前

    php artisan clear-compiled

  • gold3bear
    3年前

    global.php核对过,storage权限什么的已经777了,文件夹一片绿色,应该是没有问题, 然后,我做了一个实验:

    • routes.php里面故意漏掉分号:
    Route::get('/console',function(){
        return View::make('console.dashboard')
    });

    然后

    • 打开本地链接:'http://xxxxx.app:8000/console', 白茫茫一片

    • 查看日志 vim app/storage/logs/laravel.log:没有新增的记录;
    • 运行 php artisan env 则在命令行中报错:
    PHP Parse error:  syntax error, unexpected '}' in /home/vagrant/Code/v0.plantbabe.com/app/routes.php on line 84

    难道是觉得routes.php里面的语法错误,太二逼了就懒得报了么?

  • Ryan 一个离不开Manual,Google和IDE的菜鸟码农!
    3年前

    你先检查一下看看是不是你的php.ini display_errors有没有打开

  • gold3bear
    3年前

    @Ryan$ php -i | grep error了一下

    display_errors => STDOUT => STDOUT
    display_startup_errors => On => On
    error_append_string => no value => no value
    error_log => no value => no value
    error_prepend_string => no value => no value
    error_reporting => 32767 => 32767
    html_errors => Off => Off
    ignore_repeated_errors => Off => Off
    log_errors => On => On
    log_errors_max_len => 1024 => 1024
    track_errors => Off => Off
    xmlrpc_error_number => 0 => 0
    xmlrpc_errors => Off => Off
    opcache.error_log => no value => no value

    应该是开启了吧。 找了半天发现报错报在了hhvm的错误日志里面:sudo cat /var/log/hhvm/error.log难道是hhvm的原因么?

  • lianwenjun
    3年前

    我也遇到一样的问题,语法错误就不会报错,一些类 或者方法逻辑或者参数有问题就会报错

  • owyowoo
    2年前

    我也遇到这个问题,不过我的是权限问题,修改权限就行,这种一片空白真是让人困扰。。。

  • AGui 做个上进的PHPer
    1年前

    我出现了同样的问题。 是因为我删除了 nginx 的错误日志文件 。导致写入不了。。。恢复那个文件就好了,。

  • qq1063734335
    1年前

    还有一种情况(声明附加资源控制器路由写在resource 路由下面的时候)也可能会出现一片空白的情况

    文档:如果想在资源控制器中默认的资源路由之外加入其它额外路由,则应该在调用 Route::resource 之前 定义这些路由。否则,由 resource 方法定义的路由可能会不小心覆盖你附加的路由。

  • 拍个黄瓜
    1年前

    请问这个问题怎么解决的

  • zhaoyuan
    1年前

    同问

  • 拍个黄瓜
    1年前

    @zhaoyuan
    Laravel 提供可立即使用的 single、daily、syslog 和 errorlog 日志模式。例如,如果你想要每天保存一个日志文件,而不是单个文件,则可以在 config/app.php 配置文件内设置 log 变量:

    'log' => 'daily'

  • 吴开胜
    11个月前

    按上面的回复都试了一遍未果,最后发现还是storage权限的问题,storage的上级目录也要有对应的权限才可以

  • pfw3001
    8个月前

    @johnlui 我安装5.4版本后也遇到了这个问题,操作系统是mac,把storage/目录权限改了就可以了
    %> chmod -R 777 storage
    感觉这个问题比较坑爹,对初学者有点不友好

暂无评论~~
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter