Laravel 9部署至云主机出现HTTP 500错误:config类不存在
解决Laravel部署到云主机后出现Class "config"不存在的500错误
检查配置缓存状态
本地开发一般不会开启配置缓存,但生产环境部署后需要重新生成缓存。先清理旧缓存再重新生成:php artisan config:clear php artisan config:cache另外要确认
.gitignore里包含bootstrap/cache/config.php,别把本地缓存文件推到服务器。验证vendor目录完整性
服务器上的vendor依赖可能没同步完整,或者和本地不一致。删掉服务器的vendor目录,重新安装依赖:rm -rf vendor composer install --no-dev --optimize-autoloader--no-dev跳过开发依赖适合生产环境,--optimize-autoloader能优化自动加载速度。检查环境变量配置
确认服务器的.env文件配置正确,尤其是APP_KEY必须存在且有效。如果.env缺失或APP_KEY不对,会导致配置加载失败。可以重新生成APP_KEY:php artisan key:generate --force注意:这个命令会覆盖现有APP_KEY,要是有已加密的数据会解密不了,谨慎操作。
修复文件权限
Laravel需要对bootstrap/cache和storage目录有写入权限,给服务器上的这些目录设置正确权限:chmod -R 755 bootstrap/cache storage chown -R www-data:www-data bootstrap/cache storagewww-data是常见的Web服务器用户,根据你用的Nginx或Apache调整对应的用户组。核对PHP版本
本地和服务器的PHP版本差太多可能导致类加载问题。查看服务器PHP版本:php -v确保和本地版本一致,且满足你用的Laravel版本要求(比如Laravel 9需要PHP 8.0以上)。
内容的提问来源于stack exchange,提问作者Davidesk
相关产品推荐
相关产品推荐

