Drupal 模块升级

模块并非一直不变的,作者可能会不断进行开发,增加新功能,修复问题。当模块发布新版本时,则可能需要对模块进行更新。

如果启用了内核的 Update Manager 模块,则可以在“报告 > 可用更新”页面(admin/reports/updates)查看网站上所使用模块是否有更新版本。如果有“安全更新”,还会在所有管理页面上显示警示消息,提示尽快更新。

模块升级步骤

注意:进行升级操作前请先在非生产环境上进行测试,确认没有问题后再上生产环境操作。以免生产环境更新出错时影响正确运行。

  1. 检查模块升级说明
    • 大部分情况下,模块可以直接覆盖升级,不需要其它操作。小部分模块升级有特定的步骤、操作或注意事项
    • 特殊的模块升级说明一般可以在模块项目页面、模块发行说明或模板包里的 .txt文件中找到(如 INSTALL.txt, README.txt, UPDATE.txt等)
  2. 将网站设为“维护模式”(可选,如升级时间长、步骤复杂,则应进入维护模式,以免升级过程中用户使用相关功能而出现问题)
  3. 备份数据库及原模块目录,以便出错时可以尽快还原
  4. 删除旧版本插件,放入新版本插件(可手动删除/上传,也可使用后台更新界面 或 Composer 或 Drush,详见后文)
  5. 访问 update.php 并按步骤完成数据库升级(如有)
  6. 解除“维护模式”(可选)

更新模块目录的方法

手动下载更新

  1. 访问模块项目页面,下载模块
    • 如启用了 Update Manager,可在可用更新页面点击对应链接进入模块项目页面
    • 如未启用 Update Manager,可在本站模块列表(中文)或官方模块列表(英文)页面进行搜索
  2. 解压模块
  3. 删除旧版本模块
  4. 上传新版本模块

使用后台更新模块

注意:需启用内核的 Update Manager 模块才可使用此功能

访问“扩展 > 更新”页面(admin/modules/update)页面,根据页面显示,选择需要更新的内容,并配置 FTP 信息完成模块文件更新。

使用 Composer 检查和更新模块

# 检查更新
composer outdated 'drupal/*'
# 更新模块
composer update drupal/[module] --with-dependencies

使用 Drush 更新模块

注意:使用 Composer 管理的 Drupal 站点推荐使用 Composer 进行模块升级

# 更新指定模块(或多个指定模块)
drush up [module]
drush up [module_1] [module_2] [...]
# 更新内核及所有安装模块(慎用)
drush up