🔄 升级更新

ThinkAdmin 提供完善的升级更新机制,支持插件方式管理更新模块。

🚀 升级方式

PaaS 插件模式

  • 管理方式: 使用类 PaaS 插件方式管理更新模块
  • 版本升级: 从 v6.0 升级到 v6.1 版本
  • 插件安装: 只需要安装 ThinkPlugsAdmin 插件
  • 模式切换: 全面停用原 php think xadmin:install 指令升级

升级提示

  • 指令停用: 目前 ThinkAdmin 全面停用原安装指令
  • 插件模式: 升级到 v6.1 版本后使用插件模式更新
  • Composer 更新: 正常情况下使用 Composer 指令完成更新
  • 特殊情况: 特殊情况需要下载代码替换指定目录

⚙️ 升级步骤

1. 环境准备

  • PHP 版本: 确保 PHP 版本符合要求
  • Composer: 确保 Composer 工具可用
  • 备份数据: 升级前备份重要数据
  • 测试环境: 建议先在测试环境升级

2. 执行升级

  • Composer 更新: 执行 composer update -o 指令
  • 插件安装: 安装相应的插件
  • 配置检查: 检查配置文件是否正确
  • 功能测试: 测试升级后的功能

3. 验证升级

  • 功能验证: 验证所有功能是否正常
  • 性能测试: 测试系统性能是否正常
  • 数据检查: 检查数据是否完整
  • 日志查看: 查看升级日志

🔧 PHP8 升级

兼容性支持

  • ThinkPHP8: 已经全面兼容 ThinkPHP8 框架
  • 自动升级: 在 PHP8 环境执行 composer update -o 指令会自动升级
  • 标准开发: 按照 ThinkPHP 标准编写代码
  • 框架升级: 防止无法正常升级核心框架

配置调整

  • composer.json: 可能需要调整项目根目录的配置
  • 依赖组件: 部分依赖组件的配置规则不支持 PHP8
  • 版本建议: 提供建议修改的组件版本
  • 忽略配置: 项目中没有记录的可以忽略

⚠️ 重要提示

升级建议

  • 保留模块: 保留原系统 PaaS 模块可升级性非常有必要
  • 插件更新: 官方会不定时发布插件更新
  • 漏洞修补: 更新或修补系统漏洞
  • 个性化显示: admin 模块完全可以通过修改参数达到个性化显示

开发规范

  • 标准编写: 尽量按照 ThinkPHP 标准编写代码
  • 避免重构: 没必要重构来自定义显示内容
  • 参数修改: 通过修改参数来达到个性化显示

如何升级到 PHP8 ?

ThinkAdmin 已经支持在 PHP8 环境上运行,新安装的系统会根据当前运行环境自动安装合适依赖版本,无需特别配置。 旧版本的系统升级可能需要调整项目根目录的 composer.json 配置,有部分依赖组件的配置规则不支持 PHP8,以下是建议修改的组件版本。 如果你的项目中没有记录,可以忽略该记录的配置,修改完配置需要执行 composer update -o 进行组件更新。

{
  "require": {
    "php": ">=7.1",
    "ext-json": "*",
    "topthink/framework": "^6.0|^8.0",
    "topthink/think-view": "^1.0|^2.0",
    "zoujingli/ip2region": "^1.0|^2.0|@dev",
    "zoujingli/think-install": "^1.0|@dev",
    "zoujingli/think-library": "^6.1|@dev"
  }
}

可以通过执行 composer info 查看插件及组件版本,如果发现 topthink/framework 不是 8.x 版本,这时建议去检查本地是否为 PHP8 环境及依赖包中是否有不支持 PHP8 的依赖组件。 执行 php -v 可查看 PHP 版本信息,执行 composer -v 可查看 Composer 版本信息,执行 composer self-update 可升级 Composer 版本。

框架升级更新

安装 ThinkPlugsAdmin 插件模块的同时会安装 ThinkPlugsStatic 插件,将会强制更新替换 app/admin 目录和 public/static 的部分目录,在升级前一定要做好备份哦!具体说明可以跳转到对应插件查看。

PS. ThinkPlugsStaticThinkAdmin 专属后台样式脚本,由 ThinkAdmin 官方统一维护,个性化定制代码可以放置于 static/extra 目录,更新时不会替换该目录文件或目录。

### 升级 Composer 到最新版本
composer self-update

### 安装前建议尝试更新所有组件
composer update --optimize-autoloader

### 执行升级命令前建议删除 vendor 目录和 composer.lock 文件
composer require zoujingli/think-plugs-admin --optimize-autoloader

忽略更新替换

在目标目录下创建 ignore 文件( 文件名没有后缀 ),该目录及子目录的文件将不会被替换更新,具体可以阅读对应插件或组件文档说明。

插件模块更新

部分应用插件更新会替换整个子应用的代码,不建议有修改过的模块更新,否则会覆盖丢失部分修改的内容。

# #### 更新所有模块及组件
composer update  --optimize-autoloader

# #### 指定只更新 ThinkLibrary 组件
composer update zoujingli/think-library --profile --prefer-dist --optimize-autoloader

# #### 更新 ThinkAdmin 的系统模块 ThinkPlugsAdmin
composer update zoujingli/think-plugs-admin --profile --prefer-dist --optimize-autoloader

# #### 更新 ThinkAdmin 的微信模块 ThinkPlugsWechat
composer update zoujingli/think-plugs-wechat --profile --prefer-dist --optimize-autoloader

如果希望安装其他插件,可以跳转到 插件生态 查看详情。

最近更新:
Contributors: 邹景立