logo

额外区块类型 (EBT) - 全新的布局构建器体验❗

额外区块类型 (EBT) - 样式化、可定制的区块类型:幻灯片、标签页、卡片、手风琴等更多类型。内置背景、DOM Box、JavaScript 插件的设置。立即体验布局构建的未来。

演示 EBT 模块 下载 EBT 模块

❗额外段落类型 (EPT) - 全新的 Paragraphs 体验

额外段落类型 (EPT) - 类似的基于 Paragraph 的模块集合。

演示 EPT 模块 滚动

滚动

手动更新 Drupal 核心

06/10/2025, by Ivan

开始之前

如果您尚未阅读,建议先查看这篇介绍,其中简要说明了更新 Drupal 8 时可选择的所有方法。

附注:此更新步骤也记录在用户指南中。

如果您使用 Composer 安装了带有第三方依赖的扩展模块,请勿使用以下方法更新,因为这些步骤会覆盖 vendor/ 目录。

手动更新 Drupal 8 核心

以下是使用命令行(shell)手动更新 Drupal 8 核心的步骤:

1. 备份您的文件和数据库。完整的备份可以让您在更新失败时轻松回滚到先前版本。

如果您修改过 .htaccesscomposer.jsonrobots.txt 等文件,请将它们复制到其他安全位置,因为更新后需要重新应用这些修改。例如,在 Acquia Dev Desktop 中,.htaccess 位于根目录下,没有它网站可能只能访问主页。

提示:若在更新过程中遇到致命错误,请立即还原备份。

2. 以具有“软件更新管理”权限的用户身份登录 Drupal。

3. 将网站设置为维护模式:

    - 在管理菜单中导航至 管理 > 配置 > 开发 > 维护模式

    - 勾选“将网站置于维护模式”。

    - 点击“保存配置 (Save configuration)”。

4. 删除旧核心文件,保留自定义模块和主题。您可以选择以下两种方式之一:

使用命令行

cd /path/to/your/drupal/directory

删除 core 和 vendor 目录:

rm -rf core vendor

删除根目录下所有文件:

rm -f *.* .[a-z]*

使用 FTP 客户端

进入 Drupal 安装目录,选中根目录下的所有文件(包括以点开头的隐藏文件)及 “core”、“vendor” 文件夹并删除。不要删除 “modules”、“profiles”、“sites”、“themes” 文件夹。

5. 某些更新可能包含 default.settings.php 文件的变更。这会在版本发布说明中注明。您可以在 https://www.drupal.org/project/drupal 查看您的版本发行说明。

  • 从旧版 settings.php 复制数据库配置及其他自定义设置到新的 settings.php 文件。
  • 将新的 default.settings.php 文件复制为 settings.php,覆盖旧版本。
  • settings.php 文件制作一份额外备份。
  • 该文件通常位于 /sites/default/ 目录下。

6. 下载并替换核心文件。选择以下两种方式之一:

使用命令行

执行以下命令下载并解压:

wget https://ftp.drupal.org/files/projects/drupal-x.y.z.tar.gz
tar zxf drupal-x.y.z.tar.gz

进入解压目录并复制核心文件:

cd drupal-x.y.z
cp -R core vendor /path/to/your/drupal/directory
cp *.* .[a-z]* /path/to/your/drupal/directory

使用浏览器和 FTP 客户端

  • https://www.drupal.org/download 下载最新的 Drupal 8.x.x 版本到 webroot 之外的目录。
  • 解压下载的压缩包。
  • 使用 FTP 客户端 上传 “core”、“vendor” 文件夹及根目录下文件至您的 Drupal 目录。

7. 如有需要,重新应用您在 .htaccesscomposer.jsonrobots.txt 文件中的修改。

8. 在浏览器中运行更新脚本:访问 http://www.example.com/update.php(将示例域名替换为您自己的)。此脚本会更新数据库结构。

若您不是具有“软件更新管理”权限的用户或安装时的管理员账号,将无法访问 update.php。请按照以下步骤临时启用:

  • 使用文本编辑器打开 settings.php 文件。
  • 找到以下行:
$settings['update_free_access'] = FALSE;
  • 将 FALSE 改为 TRUE:
$settings['update_free_access'] = TRUE;
  • 保存后重新访问 /update.php
  • 更新完成后,请务必将设置改回 FALSE 以确保安全。

9. 登录 Drupal 管理后台,导航到 管理 > 报告 > 状态报告,确保网站运行正常。

10. 前往 管理 > 配置 > 开发 > 维护模式,取消勾选“将网站置于维护模式”,并保存设置。

11. 删除临时下载和解压的 Drupal 文件:

rm drupal-x.y.z.tar.gz
rm -rf drupal-x.y.z/

12. 完成 🎉 您已成功通过手动方式更新 Drupal 8 核心!