chevereto-free 1.4.2升级到chevereto V4需要做什么

以下内容来自Gemini Pro 3.1

将 Chevereto-Free 1.4.2 升级到 Chevereto V4 是一个跨大版本的升级(Free 1.4.2 实际上属于 V3 架构的最终分支)。目前 Chevereto V4 的核心已经全面开源,并且在较新的版本中免费开放了 S3 存储和多用户功能。

为了保证数据安全,在执行任何操作之前,请务必完整备份你的网站文件和数据库!

以下是平滑升级到 V4 的标准步骤:

1. 准备运行环境

  • 升级 PHP:Chevereto V4 要求最低 PHP 8.0。请进入你的宝塔面板或服务器环境,将站点的 PHP 版本切换为 PHP 8.0、8.1 或更高版本。
  • 清理旧缓存:建议先在旧版后台清空系统缓存。

2. 替换系统文件

  1. 进入你现有的网站根目录。
  2. 删除旧依赖:手动删除 app/vendor/ 文件夹(这一步非常重要,V3 的依赖如果不删除会导致 V4 报错)。
  3. 覆盖新文件:前往 Chevereto GitHub 官方发布页,下载最新的 V4 源码包。解压后,将里面的所有文件直接上传到你的网站根目录,完全覆盖旧文件(不会影响你的 /images 等存储目录)。

3. 升级配置文件(核心步骤)

Chevereto V4 采用了全新的环境变量配置方式。你需要手动迁移旧的数据库配置:

  1. 将旧配置文件 app/settings.php 重命名为 app/env.php
  2. 打开 app/env.php,将其中的旧格式修改为新的数组返回格式。

旧版格式 (settings.php):

PHP<?php
$settings['db_host'] = 'localhost';
$settings['db_name'] = 'chevereto';
$settings['db_user'] = 'user';
$settings['db_pass'] = 'pass';
$settings['db_table_prefix'] = 'chv_';

修改为新版格式 (env.php):

PHP<?php
return [
    'CHEVERETO_DB_HOST' => 'localhost',
    'CHEVERETO_DB_NAME' => 'chevereto',
    'CHEVERETO_DB_USER' => 'user',
    'CHEVERETO_DB_PASS' => 'pass',
    'CHEVERETO_DB_TABLE_PREFIX' => 'chv_',
];

4. 迁移数据库

代码和配置就位后,必须更新数据库的表结构才能正常使用:

  • 网页方式升级:用管理员账号登录,在浏览器访问 https://你的域名/update,按照屏幕上的指引完成数据库迁移。
  • 命令行方式(推荐大数据量使用):通过 SSH 登录服务器,进入网站根目录,执行以下命令:

php app/bin/cli -C database-migrate

`## 5. 更新定时任务 (CRON)
如果你曾经在服务器设置过 Chevereto 的自动任务(Cron job),由于 V4 的命令行入口发生了变化,你需要修改定时任务:

  • 旧版命令: ... php cli.php -C cron
  • 新版命令: ... php app/bin/cli -C cron

提示: 如果你当前是通过 Docker 安装的 Chevereto-Free,则不需要以上的手动步骤,只需修改你的 docker-compose.yml 引入最新的 chevereto/chevereto:latest 镜像,重启容器即可自动执行迁移。`