未捕获的反射异常:升级到Laravel 5.6后,类环境不存在



从5.5升级到Laravel到5.6.12后,我得到以下异常:

PHP 致命错误:未捕获的反射异常:类环境在/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php:767 中不存在 堆栈跟踪: 0/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php(767): ReflectionClass->__construct('env') 1/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php(646): Illuminate\Container\Container->build('env') 2/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php(601): Illuminate\Container\Container->resolve('env', Array) 3/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(747): Illuminate\Container\Container->make('env', Array) 4/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php(1210): Illuminate\Foundation\Application->make('env') 5/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(492): Illuminate\Container\Container->offsetGet('env') 6/var/www in/var/www/showroom-ng/vendor/laravel/framework/src/Illuminate/Container/Container.php 在第 767 行

我在升级指南中没有看到任何相关内容。

我试图深入研究Laravel内部,例如删除代码:

if (! $app->environment('testing')) {
ini_set('display_errors', 'Off');
}

从vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php删除了上述异常的一次出现,但还有其他一些地方导致了相同的异常。我尝试使用较低的 5.6 版本的 Laravel,但它并没有改变任何东西。

所以问题出在异常处理程序中发生的其他异常! 调用 app()->environment() 时,它隐藏了真正的异常,这与受信任的代理有关 https://stackoverflow.com/a/48595052/6852455

最新更新