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