Drupal 更新与升级

Drupal 更新(Update)是指内核小版本的更新,如 7.71 到 7.73。

Drupal 升级(Upgrade)是指内核大版本的升级,如 Drupal 6 升级到 Drupal 7,Drupal 7 升级到 Drupal 8 或 Drupal 9 等。

在 Drupal 9 之前,Drupal 大版本间难以平滑升级。如 Drupal 6 升级到 Drupal 7 或 Drupal 7 升级到 Drupal 8,相当于用新版本重建网站,麻烦且需投入相应成本。从 Drupal 8 到 Drupal 9 开始,Drupal 大版本间能够平滑升级。

Drupal (小版本)更新

  1. 备份文件和数据库
    1. 以便升级出错时,能够使用备份还原网站
    2. 备份 .htaccess, robots.txt, composer.json, settings.php 等文件,以便升级后重新修改
  2. 阅读发行说明(https://www.drupal.org/project/drupal/releases),检查更新是否有特别的注意事项
  3. 将站点改为“维护模式”(管理 > 配置 > 开发 > 维护模式)
  4. 删除根目录下除 modules, profiles, sites, themes 以外的所有文件和目录
    • 说明:Drupal 7 及以前版本则只需保留 sites 目录
  5. 检查新版本 Drupal 是否更新了 default.settings.php 文件,如有更新,则先备份原 sites/default/settings.php,将 default.settings.php 复制为 settings.php 后,再将原 settings.php 中的配置(如数据库信息)修改新的 settings.php 文件中
  6. 将新版本的 Drupal 解压并上传到原站点目录
  7. 如果老站点修改了 .htaccess, robots.txt 等文件,则重新进行修改
  8. 打开浏览器,访问 http://[www.your-domain.com]/update.php 页面,按流程指引进行数据库升级操作(如有)
  9. 检查网站状态、站点日志是否有错误,并根据指示或线索进行处理
  10. 完成

使用 Composer 更新 Drupal 内核

# 检查是否安装了 drupal/core-recommended
composer show drupal/core-recommended

# 如果安装了 drupal/core-recommended 则运行以下命令进行升级:
composer update drupal/core-recommended --with-dependencies

# 未安装则运行以下命令进行升级
composer update drupal/core --with-dependencies

# 更新所有 core 相关包
composer update drupal/core* --with-dependencies

有关使用 composer 升级的更多信息可以参考:https://www.drupal.org/docs/updating-drupal/updating-drupal-core-via-composer

自动更新

Drupal 已经开始进行自动更新相关功能的开发,目前可通过 Automatic Updates 模块实现有限功能。有关自动更新的更多内容,可参考:https://www.drupal.org/project/ideas/issues/2940731

Drupal (大版本)升级

Drupal 6 到 7,以及 Drupal 8 到之后大版本的升级步骤与小版本更新步骤大致相同(可参考上文 Drupal 更新步骤)。

Upgrade Status 模块可以帮助 Drupal 7/8 站点检查模块版本及其它升级信息。

从 Drupal 6/7 升级到 Drupal 8/9 及更新版本,请参考《从 Drupal 7 升级到 Drupal 8/9 或更新版本

Drupal 模块升级

Drupal 模块升级步骤

从 Drupal 7 升级到 Drupal 8/9 或更新版本

从 Drupal 7 升级到 Drupal 8/9 或更新版本的相关步骤、说明及注意事项。