跳转到内容
TubePress — 免费、自托管 & 持续维护
快速入门

更新 TubePress

一键更新、手动更新、签名发布版本以及 PHP 版本保护机制。

TubePress 的更新方式与 WordPress 相同:在管理面板中单击一下即可获取已签名的发行版,验证、备份、替换核心并运行数据库迁移。您的主题、插件、媒体和设置保持不变。

本页面详细说明更新会更改哪些内容、如何应用更新以及如何保持安全。

更新工作原理

发行版以来自 tubepress.io 的签名包形式分发。在 TubePress 接触任何文件之前,每个包都会经过两次验证:

  • SHA-256 校验和—不匹配则中止更新;以及
  • Ed25519 签名—没有有效签名,核心拒绝安装,因此被篡改或未签名的核心包将被直接拒绝。

更新只会替换固定核心。具体来说:

已替换
src/sql/templates/admin/templates/install/config/app.php
从不接触
您的 themes/plugins/public/uploads/ 中上传的媒体、数据库内容以及您的设置(包括 config/database.php)。

在交换文件之前,TubePress 会将当前核心复制到 storage/backups/ 并进行数据库备份。如果无法创建该数据库备份,核心更新将中止,而不会冒险处理您的数据。然后原子性地交换文件,sql/ 中新的编号迁移自动运行,结果会写入更新日志,您可以查看或从中回滚。

一键更新

前往 /admin/updates 处的管理员 → 更新(需要管理员权限)。屏幕显示您的当前版本以及核心、插件和主题的任何可用更新。检查更新按需重新查询 tubepress.io。

单击应用一个项目,TubePress 将下载、验证、备份、交换并迁移—然后记录结果。如果之后出现任何问题,您可以回滚到刚刚创建的备份。

自动更新

偏好免干预?启用 auto_update_enabled 设置(默认情况下关闭)。启用后,后台 pseudo-cron 任务会定期检查并每天最多应用一次待处理的更新。为了安全起见,该设置有意保守:

  • 核心和免费插件自动更新;
  • 主题始终由您手动更新,因此您的自定义内容不会在无人值守时被覆盖;以及
  • 付费项目被跳过—它们需要从市场购买。

调度器与其他地方使用的内置 pseudo-cron 相同—请参阅维护

手动更新

一键更新器是推荐的方式,因为它是唯一同时验证签名、创建备份并运行数据库迁移的方式。如果您的面板确实无法访问 tubepress.io(防火墙或隔离主机),您可以手动更新:

  1. 首先备份。进行完整的文件和数据库备份—请参阅备份
  2. 获取官方发行版。下载页面或您的账户下载已签名的 ZIP。
  3. 仅替换核心。用新发行版覆盖 src/sql/templates/admin/templates/install/config/app.php。保留 themes/plugins/public/uploads/config/database.php 不变。
  4. 应用新迁移。sql/ 中任何新的编号文件应用到您的数据库—这是内置更新器通常为您执行的步骤。
尽可能使用面板。手动更新会跳过自动签名检查和迁移,因此请在应用内更新器不可用时才使用手动方式。

PHP 版本守护

TubePress 附带一个小型、解析安全的入口(config/php-guard.php),在应用程序启动之前运行于每个入口点。它采用刻意的旧式 PHP 编写,以便在任何版本上均可解析—这意味着如果站点被迁移到或降级到低于所需 8.2 的 PHP 版本,访问者将看到一个干净的“需要升级 PHP”页面,而不是原始的致命错误。

这在更新时尤为重要:较新的发行版可能使用更新的 PHP 语法,因此请在更新前后确认您的主机运行 PHP 8.2 或更高版本(推荐 8.4)。更多详情请参阅维护

更新前准备

更新设计为安全且可逆的,但备份仍然是您的安全带:

  • 备份文件和数据库—更新器会自行备份,但请同时保留您自己的副本。请参阅备份
  • 检查 PHP—确认您使用的是 8.2+(理想情况下为 8.4)。
  • 记录您的自定义内容—主题和插件更改会被保留,但快速清点总是有益的。
  • 在空闲时段更新—交换过程几乎是即时的,但以防万一,请选择低流量时段。
永远不要编辑核心。src/templates/admin/ 的更改将在下次更新时被替换。请改用主题插件来构建—更新永远不会接触它们。

后续步骤

还有疑问?

从您的控制面板提交工单,我们的团队将为您提供帮助。

体验在线演示 → 下载 TubePress →