🔄 升级更新
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. ThinkPlugsStatic 是 ThinkAdmin 专属后台样式脚本,由 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
如果希望安装其他插件,可以跳转到 插件生态 查看详情。