8

因此,对此有一些线程,但没有一个具有完全相同的问题。基本上我从 5.1 升级到 php 5.4,从 5.6 升级到 php 7,现在我收到了这个错误消息。

PHP Fatal error:  Uncaught Error: Class name must be a valid object or a string in /var/www/dev1/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:96

这对我来说似乎很奇怪的原因是错误出在实际的 laravel 文件中,而不是在我的应用程序中/我编辑过的东西中。当我运行 composer update 或尝试访问我的任何网页时,都会发生此错误。以下是作曲家更新的完整转储,有什么想法吗?

[root@dev1 dev1]# composer update
> php artisan clear-compiled
PHP Fatal error:  Uncaught Error: Class name must be a valid object or a string in /var/www/dev1/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php:96
Stack trace:
#0 [internal function]: Illuminate\Foundation\Exceptions\Handler->Illuminate\Foundation\Exceptions\{closure}(0, 'Symfony\\Compone...')
#1 /var/www/dev1/bootstrap/cache/compiled.php(6207): call_user_func(Object(Closure), 0, 'Symfony\\Compone...')
#2 /var/www/dev1/bootstrap/cache/compiled.php(12223): Illuminate\Support\Arr::first(Array, Object(Closure), NULL)
#3 /var/www/dev1/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(97): Illuminate\Support\Collection->first(Object(Closure))
#4 /var/www/dev1/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php(61): Illuminate\Foundation\Exceptions\Handler->shouldntReport(Object(ReflectionException))
#5 /var/www/dev1/app/Exceptions/Handler.php(33): Illuminate\Foundation\Exceptions\Handler->report(Object(ReflectionException))
#6 /var/www/dev1/vendor/laravel/fram in /var/www/dev1/vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/Handler.php on line 96
Script php artisan clear-compiled handling the pre-update-cmd event returned with error code 255
4

2 回答 2

25

升级到 Laravel 5.4 时我遇到了类似的错误。问题是 Laravel 仍在加载bootstrap/cache/compiled.php(即使它说它不再被框架使用)。删除文件将解决您的问题。

从文档

如果存在,您可以删除 bootstrap/cache/compiled.php 文件。框架不再使用它。

于 2017-03-10T21:22:24.803 回答
-1
php artisan cache:clear

php artisan clear-compiled 

sudo composer dump-autoload
于 2017-03-10T21:28:27.173 回答