温馨提示×

centos中laravel版本更新步骤

小樊
32
2025-12-11 12:31:18
栏目: 智能运维

CentOS 中 Laravel 版本升级步骤

一 升级前准备

  • 备份与维护窗口:备份代码与数据库,选择低峰时段操作,准备快速回滚方案。示例:
    • 代码备份:cp -r /var/www/your-app /var/www/your-app.bak_$(date +%F)
    • 数据库备份:mysqldump -u USER -p DB_NAME > /var/backups/db_$(date +%F).sql
  • 环境检查:确认 PHP 版本与扩展满足目标 Laravel 要求;升级 Composer 到最新稳定版:composer self-update
  • 版本确认:查看当前框架版本
    • php artisan --version
    • composer show laravel/framework
  • 文档与计划:阅读目标版本的 Upgrade Guide / UPGRADE.mdCHANGELOG.md,列出需要修改的 breaking changes;先在测试环境验证再上线。

二 标准升级流程

  • 小版本升级(如 9.x → 9.y
    1. 进入项目根目录:cd /var/www/your-app
    2. 更新框架与依赖:composer update laravel/framework,必要时 composer update
    3. 可选优化:composer dump-autoload
    4. 执行升级命令:php artisan upgrade
    5. 数据库变更:php artisan migrate(如有新迁移)
    6. 清缓存:php artisan config:clear && php artisan cache:clear && php artisan route:clear && php artisan view:clear
    7. 全面回归测试
  • 大版本升级(如 8.x → 9.x
    1. 新建目标版本项目:composer create-project laravel/laravel your-app-new 9.*
    2. 将旧项目业务代码按目录合并到新项目(优先保留:app/, routes/, resources/, 以及自定义的 config/public/database/migrations/ 等)
    3. 对照官方升级指南逐项调整(如中间件、服务容器绑定、事件/广播、文件系统、队列等)
    4. 调整 composer.json 的版本约束与依赖,执行 composer update
    5. 运行迁移:php artisan migrate
    6. 清缓存并全量测试
  • 直达指定版本(适用于有明确版本目标的场景)
    • 方式一(推荐):修改 composer.json"laravel/framework": "^目标版本",然后 composer update laravel/framework
    • 方式二:composer require laravel/framework:版本号(如:8.1.*^9.0

三 升级后验证与常见问题

  • 功能与回归测试:重点覆盖升级指南涉及的改动点、第三方包兼容性、队列/邮件/队列/调度器/文件系统等功能
  • 常见问题处理
    • 依赖冲突:先 composer update --no-scriptscomposer install;必要时清理 vendor/ 后重装
    • 类映射问题:composer dump-autoload
    • 迁移失败:检查字段/索引变更、模型事件、外键约束;在测试环境先行演练
    • 缓存导致异常:执行配置/路由/视图缓存清理
    • 官方工具:可考虑使用 Laravel Shift 自动化部分升级工作

四 生产环境部署要点

  • 代码发布与优化:
    • git pull 最新代码
    • composer install --no-scripts --optimize-autoloader
    • 执行必要迁移:php artisan migrate --force
    • 缓存:php artisan config:cache && php artisan route:cache && php artisan view:cache
  • 回滚预案:保留上一版代码与数据库备份;如出现严重问题,快速切回备份并回滚 composer.json 与依赖版本。

0