我有一个Laravel 9项目,它在本地运行良好,但在上传到在线服务器后,我得到了这个错误:
Fatal error: Uncaught ReflectionException: Class "config" does not exist in /.../vendor/laravel/framework/src/Illuminate/Container/Container.php:875 Stack trace: #0
这个项目不在根文件夹中,而是在另一个文件夹中,因为我有多个laravel项目。另一个laravel 8.8运行良好。
这就是我迄今为止所尝试的:
- 删除供应商文件夹并重新安装
- 删除缓存文件夹中的文件
- 运行命令
$ php artisan optimize:clear
- 运行以下命令:
composer install
composer dump-autoload
php artisan cache:clear
php artisan config:clear
- 我的.env文件没有错,我只是留下了默认的Laravel
我解决了这个问题。我在服务器上丢失了一些php扩展。安装它们解决了问题。
查看文档中的Laravel 9系统要求。
在服务器上运行此代码可以查看已安装的扩展,并安装缺少的所有内容。
<?php
echo "<pre>";
print_r(get_loaded_extensions());
echo "<pre/>";
首先删除引导程序/缓存的所有内容:
cd bootstrap/cache/
rm -rf *.php
然后运行:
cd ../../
composer dump-autoload