最近看见社区非常多小伙伴在问 ThinkPHP6.1 升级到 8.0 的问题,这里我就来简单的介绍一下升级的方法。
首先,我先本地安装个 ThinkPHP6.1 的开发版。
1 | $ composer create-project topthink/think=6.1.x-dev thinkphp61 |
现在查看下项目的依赖信息。
1 | $ cd thinkphp61 |
贴一下项目的 composer.json 文件。
1 | { |
其中 require
、 require-dev
是依赖的信息,里面进行了一些版本的锁定,比如 ^6.1.0
那可以理解为 >=6.1.0 <7.0.0
,所以很多小伙伴进行升级的时候因为版本号锁定问题就没办法直接升级,这里我们要对一些依赖进行调整。
修改前 | 修改后 |
---|---|
"php": ">=7.2.5" |
"php": ">=8.0.0" |
"topthink/framework": "^6.1.0" |
"topthink/framework": "^8.0.0" |
"topthink/think-orm": "^2.0" |
"topthink/think-orm": "^3.0" |
"topthink/think-filesystem": "^1.0" |
"topthink/think-filesystem": "^2.0" |
"symfony/var-dumper": "^4.2" |
"symfony/var-dumper": ">=4.2" |
这里我没办法把全部都提供,比如如果你使用 ThinkPHP 官方提供的依赖,那现在大多数都支持 8.0 了,你可以去相关的 github 仓库查看。
在 composer.json 里面修改完依赖后,你还需要把本地的 composer.lock 删除然后再执行 composer install
,这样才能保证依赖的版本是最新的。
1 | $ rm -f composer.lock |
重新打印下依赖信息。
1 | $ composer show |
好了,现在就算是升级到 ThinkPHP 8.0 了。