CentOS 上升级 Laravel 的关键注意事项
一 升级前准备
cp -r /var/www/laravel /backup/laravel_$(date +%F);mysqldump -u USER -p DB > /backup/db_$(date +%F).sql。composer self-update),并确认目标 Laravel 版本所需的 PHP 版本与扩展已满足。composer.lock 或 composer.json 的 require/require-dev),便于回滚与比对。二 升级过程要点
composer show laravel/framework 或 php artisan --version。composer require laravel/framework:^8.0 或 laravel/framework:8.1.*;如需跨小版本,可先小步升级再继续。composer update,避免一次性全量更新导致问题难以定位;对关键第三方包先评估兼容性与升级顺序。php artisan storage:link 等发布命令。php artisan migrate 应用迁移;如引入新特性或数据结构变化,按需运行 php artisan db:seed 或指定填充类。php artisan config:clear && php artisan cache:clear && php artisan view:clear && php artisan route:clear。三 升级后验证与回滚
storage/logs/laravel.log 是否有新版本引入的异常或弃用警告。php artisan config:cache、php artisan route:cache、php artisan view:cache 再压测。composer.json 的 laravel/framework 版本约束后执行 composer update 恢复。四 CentOS 与运维相关注意
storage、bootstrap/cache)有正确上下文,必要时执行:semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/laravel/storage(/.*)?" && restorecon -R /var/www/laravel/storage。chown -R apache:apache /var/www/laravel && chmod -R 755 /var/www/laravel && chmod -R 775 storage bootstrap/cache。php -v 与目标版本一致;常见必需扩展包括 mbstring、openssl、pdo、tokenizer、xml、ctype、json、bcmath、fileinfo 等。systemctl restart php-fpm && systemctl restart httpd),避免旧字节码缓存影响。~/.composer 与全局缓存目录权限。以上要点覆盖了备份与环境、版本与依赖、数据库与缓存、系统权限与运维等关键环节,可显著降低升级风险并提升成功率。