【发布时间】:2021-05-11 14:04:42
【问题描述】:
我将我的 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): Illuminate\Database\Eloquent\Model::resolveConnection()
#1 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1271): Illuminate\Database\Eloquent\Model->getConnection()
#2 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1188): Illuminate\Database\Eloquent\Model->newBaseQueryBuilder()
#3 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1224): Illuminate\Database\Eloquent\Model->newModelQuery()
#4 /home/vagrant/code/REMOVED/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(1177): Illuminate\Database\Eloquent\Model->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 正在运行,仍然使用默认的 homestead/secret 用户并通过。 .env 和所有代码也与升级前相同。还在 nginx 和 CLI 中使用 PHP 7.4。
我不知道该做什么或去哪里看。有什么想法吗?
[编辑]
我已启用 MariaDB 常规日志以查看传入的连接尝试,但 Laravel 甚至没有尝试连接,所以这不是数据库问题。
【问题讨论】:
-
该文件第 1498 行的代码是什么?我们是要猜测吗?
-
嗯,它在供应商文件夹中,所以这是一个 Laravel 文件.... github.com/laravel/framework/blob/v8.40.0/src/Illuminate/…
-
你能运行
composer dump-autoload吗? -
@waterloomatt 它确实可以运行,但随后失败,因为 composer.json 被配置为运行一些工匠命令,例如“php artisan package:discover --ansi”
标签: php laravel vagrant homestead