Laravel 5.5 应用程序不再使用 "A facade root has not been set." 启动

Laravel 5.5 application not booting anymore with "A facade root has not been set."

出于某种原因,我们的应用程序之一不再启动。堆栈跟踪如下所示:

PHP Fatal error:  Uncaught RuntimeException: A facade root has not been set. in /app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:218
Stack trace:
#0 /app/app/Exceptions/Handler.php(43): Illuminate\Support\Facades\Facade::__callStatic('get', Array)
#1 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(352): App\Exceptions\Handler->report(Object(Dotenv\Exception\InvalidFileException))
#2 /app/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(123): Illuminate\Foundation\Console\Kernel->reportException(Object(Dotenv\Exception\InvalidFileException))
#3 /app/artisan(37): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 {main}
  thrown in /app/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 218

我确定有一些更改并阻止了应用程序启动。但我不知道到底发生了什么。非常感谢任何帮助。

作为完整性检查,完全删除您的 vendor 目录,然后重新安装(或更新)您的依赖项。可能其中的某个文件被错误地更改,现在导致了问题。

rm -rf vendor
composer update

解决方案非常简单但很难找到。

.env 变量不应分配为 KEY="VALUE" 并且过多的空格会导致 .env

的初始化崩溃

即: DB_HOST= mysql

只需更正 .env,它就会像 charme 一样工作