升级ThinkPHP需遵循“备份-验证-替换-测试”的核心逻辑,以下是详细操作流程:
tar -czvf project_backup.tar.gz /path/to/project
备份项目文件,使用mysqldump -u username -p database_name > database_backup.sql
备份数据库,避免升级失败导致数据丢失。php -v
查看PHP版本;确认必要扩展(PDO、Mbstring、OpenSSL等)已安装,可通过php -m
查看已安装扩展。grep "define('THINK_VERSION'" application/Common/Conf/config.php
(ThinkPHP 5及以下)或composer show topthink/think
(ThinkPHP 6及以上)查看当前框架版本。ThinkPHP通过Composer管理依赖,升级需在项目根目录下执行命令:
composer update topthink/think
,Composer会自动下载并替换框架文件。composer require topthink/think:目标版本号
(如composer require topthink/think:8.0.1
),强制升级到指定版本。runtime
目录下的缓存文件(如runtime/temp
、runtime/log
),避免旧缓存影响新版本运行。thinkphp
目录(核心框架文件)复制到项目根目录,覆盖旧版本框架目录(注意:不要覆盖application
(应用目录)、public
(入口目录)等自定义目录)。config/database.php
、config/route.php
),需手动对比新版本配置文件,合并差异(如新增的配置项),避免配置丢失。think\Request::instance()
改为request()
);Route::rule('path', 'controller/action')
改为Route::get('path', 'controller/action')
);php think run
),测试核心功能(如用户登录、数据增删改查、路由跳转),使用Postman测试API接口,确保无报错或功能异常。systemctl restart apache2
或systemctl restart nginx
);再次验证功能,确保生产环境正常运行。git checkout 提交ID
)。topthink/think-orm
),升级ThinkPHP后需同步更新这些依赖(composer update
),避免版本冲突。