本文介绍了如何将网站从Drupal7升级到Drupal9,将网站从Drupal7升级到Drupal9具体的步骤、需要用到的工具,将网站从Drupal7升级到Drupal9成功后的效果。
一、什么是Drupal 9?
Drupal9只是Drupal 8.9版本中缺少不推荐的代码。对于每个人来说,Drupal 8.9都是一样的——编辑、网站建设者和开发人员,Drupal 8.8.0将是最后一个不支持Drupal 9的版本。Drupal 9采用API优先开发方法构建,增强了可以定义编辑工作流的结构工具。不过,现在只是用户给我们诚实反馈的时候了。
二、为什么升级到Drupal 9?
1、Drupal7停止维护后,核心、模块、主题及其他项目将不再更新,当drupal7出现漏洞后社区不再提供支持,网站的安全性无法保障。
2、Drupal7停止更新后,应用drupal7的网站或应用出现漏洞后需要使用方自行维护,这会在无形中增加技术和人力成本。
3,Drupal7停止更新后可能会在第三方扫描中被标记为不安全,影响用户体验。
4,Drupal7下面的模块,很多已经不再维护和更新,影响整体安全性。
三、Drupal7升级到Drupal9的难度在哪里?
Drupal 8/9 与Drupal7之间的差异非常巨大,导致了说是升级,实际需要基于Drupal9重新搭建一遍,然后再将数据导入。
而基于Drupal9重新搭建的过程中,原来的代码完全不再适用,需要采用新的写法。
四、升级到Drupal9 以后,获得哪些优势:
1,以后再也不用这样大的升级,后面的升级会比较平滑,Drupal8 --》 Drupal 9 --》 Drupal 10。
2,软件采用最新的库,安全更有保证。
3,第三方模块维护相对较为及时,整体维护成本会比较低,新增功能会有好用的第3方模块作为基础。
五、如何升级到Drupal9?
首先,检查您最喜欢的贡献模块的状态,看它们是否与Drupal 9兼容,因为最终,您希望您的站点迁移到Drupal 9。
Drupal 9更新清单
在您开始迁移过程之前,这里有一个清单,列出了一些可以帮助您更快更新的内容:
确保您的站点是最新的次要版本,即Drupal 8.9。Drupal 8.8之后不支持升级。
升级至最新的PHP要求,即PHP 7.4+
不推荐站点上的代码,并在需要时借助升级状态模块进行修复。
检查你的网站是基于Composer还是Tarbolls。这将决定实际的升级流程。
六、Drupal7升级到Drupal9的工具和模块
如果您已经准备好开始朝着正确的方向前进,下面列出了一系列工具和模块,它们将为您提供帮助:
Core Migrate Module Suite:迁移内容和网站配置
Upgrade Status Module:提供有关已贡献项目可用性的信息,(https://www.drupal.org/project/upgrade_status)
Upgrade Rector:将Drupal 8站点的常见不推荐代码自动更新为与Drupal 9兼容的最新代码
Drupal Module Upgrader:扫描并转换Drupal 7站点上过时的代码,https://www.drupal.org/project/drupalmoduleupgrader
七、商业价值
无论是D7还是D8,您都可以开始准备尽快升级到Drupal9站点。
Drupal 7于九年前推出,现在正是重新评估内容编辑和网站用户需求的最佳时机。评估维护软件和更新系统的业务连续性方面也很重要。
这些问题可能会帮助您解决迁移如何更好地服务于今天的受众:
现有功能和模块的相关性和安全性如何?
你的迁移范围是什么,你可以分配多少时间和预算,你手头有什么开发人员技能?
升级后的设计和架构会对现有网站的内容产生什么影响?
有了这些问题的答案和迁移之旅,你可能需要在你的角落里的专家和能够伸出援助之手的合作伙伴。
八、从Drupal7升级到Drupal8的步骤
根据官网文档指南,Drupal7是不能直接升级到Drupal9的,先将Drupal7升级到Drupal8,再从Drupal8升级到Drupal9。由于Drupal7和Drupal的架构相差很大,升级较为麻烦,但Drupal8到drupal9的升级较为容易。
1、首先备份drupal7网站的数据库、程序文件,部署到新的服务器上。
2、在测试服务器上安装Drupal8系统,只需要默认安装,无需进行配置
3、启动迁移相关的模块,如:migrate、migrate_plus、migrate_tools等,如果需要迁移其他数据,可以找相应的模块,如果没有相应的模块,可以等迁移完成后利用batch api手动完成迁移。也可以自定义一些migrate的模块。
4、在新的网站上输入/update.php 根据提示输入相关的信息,遇到问题逐一进行解决,这样就完成迁移了,我这里没有详细描述遇到的问题,是因为每个Drupal7网站安装的模块不同,内容类型不同,遇到的问题也不相同。
九、从Drupal7升级到Drupal9的成功案例。
1、加拿大旅游保险在线官网从Drupal7升级到Drupal9,地址:https://www.5188jxt.com/case/jia-na-da-lu-you-bao-xian-zai-xian-guan-wang-cong-drupal7sheng-ji-dao-drupal9.htm
2、华府基督生命堂从Drupal7升级到Drupal9,
3、openarch.com官网从Drupal8升级到Drupal9,
升级前Drupal7: