logo

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

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

演示 EBT 模块 下载 EBT 模块

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

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

演示 EPT 模块 滚动

滚动

通过 Drush 更新 Drupal 核心

06/10/2025, by Ivan

本文档已过时。请帮助更新到最新版本

在开始之前

推荐使用 Composer 来管理 Drupal 的依赖项;请参阅《在 Drupal 中使用 Composer》了解更多信息。Drush 9 不再支持更新 Drupal,而是将此任务交给 Composer。因此,建议使用 Composer 更新 Drupal。不过,如果您长期使用 Drush,仍可使用 Drush 8(版本 8.14 或更高)来更新 Drupal 8。

P.S.:请参阅更新概览,了解所有可用更新方法。

提示:如果在更新过程中出现致命错误,请务必恢复到更新前的备份。

使用 Drush 更新 Drupal 8 核心

以下步骤介绍如何使用 Drush 8.x 更新 Drupal 8 核心。Drush 是 Drupal 的命令行管理工具。

1. 备份文件和数据库。使用 Drush 输入以下命令:

drush archive-dump

说明:

  • 更新前务必创建备份,以便在出现问题时能够快速恢复。
  • 命令 drush archive-dump 会创建网站文件及数据库的 .tar.gz 归档。此命令在新版 Drush 中已被弃用,仅会打包 /web 目录下的文件。

2. 检查可用更新

drush pm-updatestatus
  • 别名命令:ups
  • 注意:对于基于 Composer 的安装,请改用 composer show

3. 启用维护模式

drush state-set system.maintenance_mode 1

别名命令:sset

4. 清理缓存

drush cache-rebuild
  • 别名命令:cr
  • 此命令清除数据库中的所有 cache_* 表,并重新构建网站容器。

5. 执行更新

根据需要选择以下一种或多种更新方式。命令 pm-update(别名 up)会同时更新代码与数据库,等同于 pm-updatecode + updatedb

选项:更新 Drupal 8 核心

drush pm-update drupal

选项:更新至开发分支(仅供测试和补丁使用,非生产环境)

drush pm-update drupal-8.5.x-dev

选项:更新单个模块

drush pm-update module_name

选项:仅安装安全更新

drush pm-update --security-only

6. 重新应用手动修改

如果您修改过文件(如 .htaccesscomposer.jsonrobots.txt),需要在更新后手动恢复。Drush 不会自动执行这些更改。

7. 重新应用自定义补丁

若您在更新前曾应用核心补丁,请在更新后重新应用(如果这些补丁尚未被官方合并)。

% git log --oneline --reverse core
ee2bf8dd Issue #18: Updated Drupal core from 8.3.4 to 8.3.5.
267e3ad0 Issue #27: Applied patch from https://www.drupal.org/project/drupal/issues/2174633#comment-12291691.
718ecba5 Issue #9: Applied patch from https://www.drupal.org/project/drupal/issues/2906229#comment-12496488.

使用 git cherry-pick 按时间顺序重新应用补丁:

% git cherry-pick 267e3ad0
% git cherry-pick 718ecba5

8. 更新 /vendor 目录

如果您使用 Composer 管理 PHP 库(某些模块依赖),运行以下命令更新 vendor 目录:

composer update drupal/core --with-dependencies

9. 更新数据库

如果有待执行的数据库更新,请运行:

drush updatedb

别名命令:updb

10. 检查网站运行状况

  • 通过 Drupal 管理界面查看“状态报告”页面。
  • 在浏览器中访问主要页面,确保网站正常运行。

11. 关闭维护模式

drush state-set system.maintenance_mode 0

12. 再次清理缓存

drush cache-rebuild

13. 完成

您已成功使用 Drush 更新了 Drupal 8 🎉