一,官方文档:
https://doc.thinkphp.cn/v8_0/setup.html
二,查看当前的php版本是否满足升级条件:
1,文档中的环境要求
php8.0 +
2,查看本地的php版本:
-version
当前版本是 8.1.1 ,显然符合条件
3,查看当前项止的thinkphp版本:
liuhongdi@lhdpc:/data/php/tpapibase$ php think version v6.1.0
三,升级thinkphp
1,升级原项目到可用的最新版本:
liuhongdi@lhdpc:/data/php/tpapibase$ composer update topthink/framework Loading composer repositories with package information Updating dependencies Lock file operations: 0 installs, 1 update, 0 removals - Upgrading topthink/framework (v6.1.1 => v6.1.4) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 0 installs, 1 update, 0 removals - Downloading topthink/framework (v6.1.4) - Upgrading topthink/framework (v6.1.1 => v6.1.4): Extracting archive Generating autoload files > @php think service:discover Succeed! > @php think vendor:publish File /data/php/tpapibase/config/trace.php exist! Succeed!4 packages you are using are looking for funding. Use the `composer fund` command to find out more! No security vulnerability advisories found liuhongdi@lhdpc:/data/php/tpapibase$ php think version v6.1.4
可以看到升级完成后版本是v6.1.4
2,修改composer.json
"require": {
"php": ">=8.0.0",
"topthink/framework": "^8.0",
"topthink/think-orm": "^3.0",
"topthink/think-filesystem": "^2.0"
},
"require-dev": {
"symfony/var-dumper": ">=4.2",
"topthink/think-trace":"^1.0"
},
对require需要用到的库的版本调整,我的配置版本号如上,
“topthink/think-filesystem”: “^2.0”, 这一行是我手动添加上的,
说明:这些版本号是从哪里来的?
用下面的命令新创建一个thinkphp8项目,从composer.json中就看到了
liuhongdi@lhdpc:/data/php$ composer create-project topthink/think tp8
3,删除composer.lock
liuhongdi@lhdpc:/data/php/tpapibase$ rm composer.lock
4,升级前查看当前各库的版本:
liuhongdi@lhdpc:/data/php/tpapibase$ composer show firebase/php-jwt v6.3.1 A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec. psr/container 1.1.2 Common Container Interface (PHP FIG PSR-11) psr/http-message 1.0.1 Common interface for HTTP messages psr/log 1.1.4 Common interface for logging libraries psr/simple-cache 1.0.1 Common interfaces for simple caching symfony/polyfill-mbstring v1.27.0 Symfony polyfill for the Mbstring extension symfony/polyfill-php72 v1.27.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions symfony/polyfill-php80 v1.27.0 Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions symfony/var-dumper v4.4.47 Provides mechanisms for walking through any arbitrary PHP variable topthink/framework v6.1.4 The ThinkPHP Framework. topthink/think-helper v3.1.6 The ThinkPHP6 Helper Package topthink/think-orm v2.0.56 think orm topthink/think-trace v1.5 thinkphp debug trace
5,升级:
liuhongdi@lhdpc:/data/php/tpapibase$ composer install No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information. Loading composer repositories with package information Updating dependencies Lock file operations: 14 installs, 0 updates, 0 removals - Locking firebase/php-jwt (v6.8.0) - Locking league/flysystem (2.5.0) - Locking league/mime-type-detection (1.11.0) - Locking psr/container (2.0.2) - Locking psr/http-message (1.1) - Locking psr/log (3.0.0) - Locking psr/simple-cache (3.0.0) - Locking symfony/polyfill-mbstring (v1.27.0) - Locking symfony/var-dumper (v6.3.0) - Locking topthink/framework (v8.0.1) - Locking topthink/think-filesystem (v2.0.2) - Locking topthink/think-helper (v3.1.6) - Locking topthink/think-orm (v3.0.11) - Locking topthink/think-trace (v1.6) Writing lock file Installing dependencies from lock file (including require-dev) Package operations: 3 installs, 6 updates, 2 removals - Downloading league/mime-type-detection (1.11.0) - Downloading psr/container (2.0.2) - Downloading symfony/var-dumper (v6.3.0) - Downloading psr/simple-cache (3.0.0) - Downloading psr/log (3.0.0) - Downloading topthink/think-orm (v3.0.11) - Downloading topthink/framework (v8.0.1) - Downloading league/flysystem (2.5.0) - Downloading topthink/think-filesystem (v2.0.2) - Removing symfony/polyfill-php80 (v1.27.0) - Removing symfony/polyfill-php72 (v1.27.0) - Installing league/mime-type-detection (1.11.0): Extracting archive - Upgrading psr/container (1.1.2 => 2.0.2): Extracting archive - Upgrading symfony/var-dumper (v4.4.47 => v6.3.0): Extracting archive - Upgrading psr/simple-cache (1.0.1 => 3.0.0): Extracting archive - Upgrading psr/log (1.1.4 => 3.0.0): Extracting archive - Upgrading topthink/think-orm (v2.0.61 => v3.0.11): Extracting archive - Upgrading topthink/framework (v6.1.4 => v8.0.1): Extracting archive - Installing league/flysystem (2.5.0): Extracting archive - Installing topthink/think-filesystem (v2.0.2): Extracting archive 2 package suggestions were added by new dependencies, use `composer suggest` to see details. Generating autoload files > @php think service:discover Succeed! > @php think vendor:publish File /data/php/tpapibase/config/trace.php exist! Succeed! 4 packages you are using are looking for funding. Use the `composer fund` command to find out more!
6,查看升级后的版本:
liuhongdi@lhdpc:/data/php/tpapibase$ composer show firebase/php-jwt v6.8.0 A simple library to encode and decode JSON Web Tokens (JWT) in PHP. Should conform to the current spec. league/flysystem 2.5.0 File storage abstraction for PHP league/mime-type-detection 1.11.0 Mime-type detection for Flysystem psr/container 2.0.2 Common Container Interface (PHP FIG PSR-11) psr/http-message 1.1 Common interface for HTTP messages psr/log 3.0.0 Common interface for logging libraries psr/simple-cache 3.0.0 Common interfaces for simple caching symfony/polyfill-mbstring v1.27.0 Symfony polyfill for the Mbstring extension symfony/var-dumper v6.3.0 Provides mechanisms for walking through any arbitrary PHP variable topthink/framework v8.0.1 The ThinkPHP Framework. topthink/think-filesystem v2.0.2 The ThinkPHP6.1 Filesystem Package topthink/think-helper v3.1.6 The ThinkPHP6 Helper Package topthink/think-orm v3.0.11 the PHP Database&ORM Framework topthink/think-trace v1.6 thinkphp debug trace
7,用php命令查看版本:
liuhongdi@lhdpc:/data/php/tpapibase$ php think version v8.0.0
刚好用到
1 month不错,收藏起来先....
5 月@zhanganiu 方便后面升级使用
5 月还可以,写的很详细
7 月@huasy 确实可以
7 月@huasy 谢谢,tp6升级的话,相对比较容易点的,希望这个能够帮到大家学习
7 月