以下内容只涉及Drupal9小版本的更新,如需大版本的升级(如Drupal7或8升级到Drupal9),请参考官方文档 How to prepare your Drupal 7 or 8 site for Drupal 9。
如果你的Drupal9不是使用Composer部署的,请参考手动更新教程。
大致步骤
- 备份数据库
- 更新Drupal内核至最新版本
- 运行update.php
备份数据库
数据库的备份可以使用mysql的客户端软件或者使用Drupal模块 Backup and Migrate 将数据进行导出。
将网站设置为维护模式
如果为线上项目可以先把网站置为维护模式,这样对用户比较友好。
drush state:set system.maintenance_mode 1
drush cache:rebuild
注:没安装drush的可以在管理后台操作:admin/config/development/maintenance
验证需要更新的内容
查看有哪些内容需要更新
composer outdated "drupal/*"
执行后的结果如下:
Color legend:
- patch or minor release available - update recommended
- major release available - update possible
drupal/core 9.0.6 9.3.7 Drupal is an open so...
drupal/core-composer-scaffold 9.0.6 9.3.7 A flexible Composer ...
drupal/core-project-message 9.0.6 9.3.7 Adds a message after...
drupal/core-recommended 9.0.6 9.3.7 Locked core dependen...
drupal/core-vendor-hardening 9.0.6 9.3.7 Hardens the vendor d...
drupal/emulsify_twig 2.0.0 2.0.1 BEM and Add Attribut...
drupal/gin_toolbar 1.0.0-beta19 1.0.0-beta20 Gin Toolbar for Fron...
9.0.6是现在的版本,可以更新到9.3.7
更新 Drupal 核心和依赖项
查看项目根目录下的composer.json文件, 在require中确认drupal内核是drupal/core 还是drupal/core-recommended,确认后执行下面的操作(以drupal/core-recommended为例)
composer update drupal/core-recommended -W # -W表示安装所有相关依赖
#其他按需更新
composer update drupal/core-composer-scaffold
composer update drupal/emulsify_twig
数据库更新
drush updatedb
drush cache:rebuild
注:无drush,管理员直接访问 域名/update.php,根据提示进行操作。
上线
drush state:set system.maintenance_mode 0
drush cr
网友评论