Uncaught RuntimeException:尚未设置外观根。在Facade.php:258中,升级到Laravel 7

问题描述 投票:0回答:1

即使遵循laravel升级指南,我也遇到了有关立面的错误

PHP Fatal error:  Uncaught RuntimeException: A facade root has not been set. in D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Support\Faca
des\Facade.php:258
Stack trace:
#0 D:\Git_Undiksha\legalisir-ijasah-online\app\Exceptions\Handler.php(39): Illuminate\Support\Facades\Facade::__callStatic('error', Array)
#1 D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(366): App\Exceptions\Handler->report(Object(Error))
#2 D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(131): Illuminate\Foundation\Console\Kernel->reportException
(Object(Error))
#3 D:\Git_Undiksha\legalisir-ijasah-online\artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Compo
nent\Console\Output\ConsoleOutput))
#4 {main}
  thrown in D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php on line 258

Fatal error: Uncaught RuntimeException: A facade root has not been set. in D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Support\Facades\F
acade.php:258
Stack trace:
#0 D:\Git_Undiksha\legalisir-ijasah-online\app\Exceptions\Handler.php(39): Illuminate\Support\Facades\Facade::__callStatic('error', Array)
#1 D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(366): App\Exceptions\Handler->report(Object(Error))
#2 D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Foundation\Console\Kernel.php(131): Illuminate\Foundation\Console\Kernel->reportException
(Object(Error))
#3 D:\Git_Undiksha\legalisir-ijasah-online\artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Compo
nent\Console\Output\ConsoleOutput))
#4 {main}
  thrown in D:\Git_Undiksha\legalisir-ijasah-online\vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php on line 258

Facade.php:258

public static function __callStatic($method, $args)
{
    $instance = static::getFacadeRoot();

    if (! $instance) {
        throw new RuntimeException('A facade root has not been set.');
    }

    return $instance->$method(...$args);
}

这是我的composer.json:

"require": {
    "php": ">=7.2.5",
    "laravel/framework": "^7.0",
    "nunomaduro/collision": "^4.1",
    "laravel/tinker": "^2.0",
    "facade/ignition": "^2.0"
},
"require-dev": {
    "composer/composer": "^1.10",
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "^9.1"
},

我确实将Handler.php异常更改为Throwable,将session.php安全的env从false更改为null,并将所有handle()命令设置为返回整数。

我该如何解决外观错误以及应该怎么办?

php laravel laravel-7 laravel-facade
1个回答
0
投票

[创建一个新的可运行的Laravel版本7项目后,将app和config文件夹复制并重命名到新文件夹(出于测试目的),使用php artisan --version测试我所做的所有更改,最后我发现了问题所在:config /excel.php

在excel.php中,我评论了autosize-method,它起作用了!

// 'autosize-method'             => PHPExcel_Shared_Font::AUTOSIZE_METHOD_APPROX,
© www.soinside.com 2019 - 2024. All rights reserved.