升级TP6.1

奥宏后台已经将上游依赖更新至最新。本文章对于使用老的版本后台或其他任何使用老版本tp6的都有指导意义。

推荐升级到tp6.1。

老版本有一些漏洞,而且使用了有安全漏洞的依赖。

目前TP6系列早已不再添加任何新特性,所以6.0和6.1都无所谓。但是新的bug修复和版本更新,应该会有小版本更新。

删除旧的依赖

如果是老版本的奥后后台,需要执行这个步骤。

  1. composer remove overtrue/flysystem-qiniu
  2. composer remove xxtime/flysystem-aliyun-oss
  3. composer remove chunpat/flysystem-tencent-cos

修改composer.json

  1. "topthink/framework": "^6.0",
  2. "topthink/think-orm": "^2.0",

注意require中版本依赖的写法:^6.0。其他写法可能无法升级到tp6.1,而是升级到最新的tp6.0。

升级依赖

  1. composer update

查看版本

  1. composer info

引入新flysystem扩展

  1. composer require topthink/think-filesystem

引入新的第三方

如果使用了老版本的奥宏后台,则需要执行。

引入依赖

有两种方法,直接修改 composer.json:

  1. "overtrue/flysystem-qiniu": "^2.0",
  2. "overtrue/flysystem-cos": "^4.0",
  3. "iidestiny/flysystem-oss": "^3.0"

或者单独引入:

  1. composer require overtrue/flysystem-qiniu:^2.0
  2. composer require overtrue/flysystem-cos:^4.0
  3. composer require iidestiny/flysystem-oss:^3.0

修改扩展文件呢

参考以下代码覆盖文件:

  • extend/think/filesystem/driver/Alioss.php
  • extend/think/filesystem/driver/Qiniu.php
  • extend/think/filesystem/driver/Txcos.php
<?php

namespace think\filesystem\driver;


use Iidestiny\Flysystem\Oss\OssAdapter;
use League\Flysystem\FilesystemAdapter;
use think\filesystem\Driver;

class Alioss  extends Driver
{
    protected function createAdapter(): FilesystemAdapter
    {

        return new OssAdapter(
            sysconfig('upload', 'alioss_access_key_id'),
            sysconfig('upload', 'alioss_access_key_secret'),
            sysconfig('upload', 'alioss_endpoint'),
            sysconfig('upload', 'alioss_bucket')
        );
    }

    public function url(string $path): string
    {
        return $this->concatPathToUrl(sysconfig('upload', 'alioss_domain'), $path);
    }
}
<?php

namespace think\filesystem\driver;

use League\Flysystem\FilesystemAdapter;
use think\filesystem\Driver;
use Overtrue\Flysystem\Qiniu\QiniuAdapter;

class Qiniu  extends Driver
{
    protected function createAdapter(): FilesystemAdapter
    {
        return new QiniuAdapter(
            sysconfig('upload', 'qnoss_access_key'),
            sysconfig('upload', 'qnoss_secret_key'),
            sysconfig('upload', 'qnoss_bucket'),
            sysconfig('upload', 'qnoss_domain')
        );
    }

    public function url(string $path): string
    {
        return $this->concatPathToUrl(sysconfig('upload', 'qnoss_domain'), $path);
    }
}
<?php

namespace think\filesystem\driver;;

use League\Flysystem\FilesystemAdapter;
use think\filesystem\Driver;
use Overtrue\Flysystem\Cos\CosAdapter;

class Txcos extends Driver
{
    protected function createAdapter(): FilesystemAdapter
    {
        $appid = sysconfig('upload', 'txcos_appid');
        $secretId = sysconfig('upload', 'txcos_secret_id');
        $secretKey = sysconfig('upload', 'txcos_secret_key');
        $region = sysconfig('upload', 'txcos_region'); //set a default bucket region 设置一个默认的存储桶地域 
        $bucket = sysconfig('upload', 'txcos_bucket'); //存储桶名称 格式:BucketName-APPID

        $config = [
            // 必填,app_id、secret_id、secret_key 
            // 可在个人秘钥管理页查看:https://console.cloud.tencent.com/capi
            'app_id' => $appid,
            'secret_id' => $secretId,
            'secret_key' => $secretKey,
            'region' => $region,
            'bucket' => $bucket,

            // 可选,如果 bucket 为私有访问请打开此项
            'signed_url' => false,

            // 可选,是否使用 https,默认 false
            'use_https' => true,
        ];

        $adapter = new CosAdapter($config);


        return $adapter;
    }

    public function url(string $path): string
    {
        return $this->concatPathToUrl(sysconfig('upload', 'txcos_domain'), $path);
    }
}

升级完成

到现在已经升级完成了。

但是还要注意,如果通过ftp上传到站点,要先删除服务器上的vendor,全新上传,否则服务器还是会出问题。

另外要注意,配置文件必须设置visibility

  1. 'qnoss' => [
  2. 'type' => 'Qiniu',
  3. 'visibility' => 'public',
  4. ],
  5. 'alioss' => [
  6. 'type' => 'Alioss',
  7. 'visibility' => 'public',
  8. ],
  9. 'txcos' => [
  10. 'type' => 'Txcos',
  11. 'visibility' => 'public',
  12. ],

原文标题:升级TP6.1

原文文档:ulthon_admin

原文地址:https://doc.ulthon.com/read/augushong/ulthon_admin/63ad0eed40006/zh-cn/2.x.html

原文平台:奥宏文档

2.x