Linux环境下ThinkPHP版本升级流程及注意事项
tar命令打包项目目录,或通过版本控制系统(如Git)提交当前状态;数据库备份可使用mysqldump工具导出为SQL文件,防止升级过程中数据丢失。php -v命令检查PHP版本(如ThinkPHP 8.0需PHP≥8.0.0);php -m查看已安装扩展,缺失则用apt(如sudo apt install php-mysql)或yum安装。composer update topthink/framework更新框架到目标版本;若手动下载框架包,将新版本的thinkphp目录(位于框架根目录)复制到项目根目录,覆盖旧目录但保留应用目录(如application/app)、配置文件(如config)和自定义代码。composer update命令,更新项目依赖包至与新框架版本兼容的版本;若需指定依赖版本,可修改项目根目录下的composer.json文件(如调整topthink/think-orm、topthink/think-filesystem等包的版本号),再执行composer update。config目录(如config/database.php、config/app.php),根据新版本要求修改配置:
migrate命令),可执行php think migrate:run运行新版本的迁移文件,更新数据库结构;若未使用迁移,需手动检查数据库表结构是否符合新版本要求(如字段类型、索引)。php think run或Nginx/Apache),访问项目首页及核心功能(如登录、数据增删改查),检查是否存在报错;runtime/log目录下的日志),定位并解决兼容性问题(如函数废弃、配置错误)。Db::execute替代Db::query),调整函数参数以匹配新版本要求。config目录,修改配置项名称或结构(如ThinkPHP 8.0中app_debug改为app.debug),确保配置生效。topthink/think-orm),若扩展无更新,可寻找替代方案或自行修改扩展代码以适配新版本。route/route.php),调整路由规则(如url_route_must参数是否开启),确保路由能正确解析请求。upgrade-to-8.0),若升级失败可快速回滚到之前的稳定版本。