在null上调用成员函数connection()(在升级Laravel Homestead之后)



我将我的Homestead盒子从20.04回购更新到了最新的官方版本。一切都安装得很好,似乎工作正常,但我的应用程序现在完全坏了。我在过去升级过Homestead,没有任何问题。

我运行的任何命令都会返回:

PHP Fatal error:  Uncaught Error: Call to a member function connection() on null in /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php:1498
Stack trace:
#0 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1464): IlluminateDatabaseEloquentModel::resolveConnection()
#1 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1271): IlluminateDatabaseEloquentModel->getConnection()
#2 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1188): IlluminateDatabaseEloquentModel->newBaseQueryBuilder()
#3 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1224): IlluminateDatabaseEloquentModel->newModelQuery()
#4 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1177): IlluminateDatabaseEloquentModel->newQueryWithoutScopes()
#5 /home/vagrant/code/REMOVED in /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php on line 1498

我无法运行任何artisan命令,Composer也无法完成创建正确的自动加载文件。

浏览网页显示:

Fatal error: Uncaught Error: Call to undefined method ComposerAutoloaderInit4ae805320ff6a78bd9cc38b042c51006::getLoader() in /home/vagrant/code/REMOVED/vendor/autoload.php:7 Stack trace: #0 /home/vagrant/code/REMOVED/bootstrap/autoload.php(3): require_once() #1 /home/vagrant/code/REMOVED/public/index.php(34): require_once('/home/vagrant/c...') #2 {main} thrown in /home/vagrant/code/REMOVED/vendor/autoload.php on line 7

MariaDB正在运行,仍然使用默认的homes/secret用户和密码。.env和所有代码也与升级前相同。还在nginx和CLI中使用PHP7.4。

我不知道该做什么,也不知道该去哪里看。有什么想法吗?

[编辑]

我已经启用了MariaDB常规日志来查看传入的连接尝试,但Laravel甚至没有尝试连接,所以这不是DB的问题。

我部分弄明白了。Linux并没有显示整个错误,当我在Mac上本地运行artisan命令时,它指向某个试图执行DB查询以获取设置值的包。

由于某种未知的原因,它失败了。我卸下了绳子,一切都很顺利。缓存.env,运行dump auto并重新启动FPM,所有操作都能加载1页。

所有后续的页面加载都会抛出一个PHP错误:

Fatal error: Uncaught Error: Call to undefined method ComposerAutoloaderInit4d864c59644e635478404aa0440854b7::getLoader() in /home/vagrant/code/REMOVED/vendor/autoload.php:7 Stack trace: #0 /home/vagrant/code/REMOVED/bootstrap/autoload.php(3): require_once() #1 /home/vagrant/code/REMOVED/public/index.php(34): require_once('/home/vagrant/c...') #2 {main} thrown in /home/vagrant/code/REMOVED/vendor/autoload.php on line 7

最新更新