Drupal 使用 Composer + Drush 安全更新到最新版本(完整教程)
Composer 是 Drupal 官方推荐的依赖管理工具,Drush 是 Drupal 专用命令行工具,二者结合可安全、高效地将 Drupal 核心、模块、主题更新到最新稳定版。本教程适用于 Drupal 8/9/10/11 所有 Composer 搭建的站点,全程命令行操作,避免手动更新带来的安全风险与文件冲突。
一、更新前准备(必做,保障站点安全)
1. 备份全站数据:备份网站数据库、站点根目录文件,更新出现异常可快速回滚。
2. 开启维护模式:更新期间关闭前台访问,防止用户操作导致数据错误。
3. 清空缓存:提前清理 Drupal 缓存,减少更新冲突。
# 开启维护模式
drush set system.maintenance_mode 1
# 清空缓存
drush cr
二、检查当前版本与可更新内容
执行命令查看 Drupal 核心、扩展的当前版本和可用更新,确认需要更新的组件,避免盲目升级。
# 检查所有可更新项(核心+模块+主题)
drush pm:update --check
# 仅检查 Drupal 核心更新
drush core:status
三、执行 Composer 更新核心与扩展
进入 Drupal 根目录,执行 Composer 命令拉取最新版本的核心文件、依赖包,这是更新的核心步骤。命令会自动兼容版本依赖,保证文件完整性。
# 更新 Drupal 核心到最新稳定版
composer update drupal/core --with-dependencies
# 更新所有已安装模块、主题到最新版
composer update
等待命令执行完成,期间不要关闭终端,出现「Success」提示即为文件更新完成。
四、Drush 执行数据库更新(关键步骤)
文件更新完成后,必须执行数据库更新,同步新版本的字段、配置、数据表结构,否则站点会报错无法访问。
# 执行数据库更新(按提示输入 y 确认)
drush updatedb -y
# 再次清空所有缓存,使更新生效
drush cr
五、关闭维护模式,完成更新
数据库更新完成后,关闭维护模式,恢复站点正常访问,检查前台、后台功能是否正常。
# 关闭维护模式
drush set system.maintenance_mode 0
# 检查最终版本状态
drush core:status
六、更新后检查与常见问题
1. 访问站点前台、后台,确认页面、功能、翻译正常显示;
2. 若出现白屏,重新执行清缓存命令:drush cr;
3. 权限异常时,重置权限:drush php-eval 'user_access_rebuild()';。
总结:使用 Composer + Drush 更新 Drupal,是官方标准方案,具备安全、稳定、自动化的优势,定期更新可修复漏洞、提升性能、获得新功能,建议每月执行一次版本检查与更新,保障站点稳定运行。
评论