从2.5升级到3.x概述


15

考虑到一些事情,我一直对此感到好奇。

在Joomla的EoL之前,“一键式”升级的效果如何?2.5?

现在,我们从2.5升级的成功率非常低,有很多兼容性问题不能仅通过升级来解决,而且大多数时候需要一些手动编辑才能完成此过程(JHTML问题是我最常见的问题看到)。

现在,我说“问题”,但是我只是说更新后事情没有按预期进行,这绝不是说“更新”组件已损坏。

我环顾四周,但发现以下内容:

http://docs.joomla.org/Joomla!_CMS_versions

http://developer.joomla.org/cms/roadmap.html

第一个声明称,即将到2014年12月的2.5支持将被取消。第二个是3.x的路线图。但是,现在很难升级到2.5,站点越大,难度就越大。我不确定是什么导致某些成功,有些没有成功,在大多数情况下,我们无法将其直接隔离到第三方扩展(扩展管理器的中断等来自丢失的表,而扩展管理器是您修复此问题的地方)。

如果站点使用包含sobipro,k2或内容构建器之类的大型数据库,或者仅使用许多文章/模块,则升级是真正的问题所在,那么升级失败会容易得多。这些都无法删除,禁用或卸载(例如:4000多个项目将因卸载而丢失,这时可能还需要重新制作站点然后进行升级)。

那么,是否有任何计划将一键式升级从2.5升级到3.x以更好地适应EoL?(例如新闻帖子或博客)很奇怪的问题,但我认为有250个无法升级的站点非常值得。


从J2.5升级到3.x时,我从未听说过或遇到任何问题。实际上,我们最近将站点升级到了J3.3,并进行了大量扩展,包括K2,Community Builder和Kunena,没有任何问题。
2014年

1
在我们拥有的80个2.5个站点中,大约有10次尝试,我们从未真正获得过“没有问题”的成功。这个问题仅是为了查看是否有任何计划来降低错误(我知道没有任何数字必须卸载才能升级),我可能会在上面贴出自己的答案,因为它使它看起来像是一个核心问题,并且很难看到,虽然不是唯一可能发生的事情)。对于这个问题,我的意思是希望将一些不同的来源和解决问题的方法汇总在一起。
乔丹·拉姆斯塔德

1
乔丹有一点。升级并非一直如此简单。对于我来说,这不是问题,但对于升级后可能会卡住网站的普通用户而言,因此对于Joomla来说,这是一个问题,考虑到我们生活在“用户友好”和“有效的软件”是必不可少的。
FFrewin

我还遇到了多个升级问题,实际上,我对六个站点的所有升级尝试都给我带来了必须通过各种方式修补的问题。我发现其中大多数是由扩展中使用Mootools引起的。这导致升级有时在更新数据库之前就中断了。对于我升级之前用其3.x版本(“ JHtml :: __('behavior.framework');”)在所有使用的源中替换了MooTools的网站,它似乎都可以正常工作。
thoni56

Answers:


11

“一键式”升级对Joomla非常有效!2.5 内核

但是您的站点可能有几个模板或扩展名也要升级。

我还计划对我们的主站点进行“六月”迁移。这是我的计划:

  • 备份主站点并创建一个新的测试站点
  • 查看Joomla 3.x的系统要求,并确保您的服务器环境满足这些要求。
  • 安装并自定义新的Joomla!2.5 / 3兼容模板
  • 安装并自定义所有Joomla!2.5 / 3兼容扩展
  • 如果某些扩展程序没有与J3兼容的版本,则必须用新的扩展程序替换它。...并且必须迁移数据(最坏的情况)
  • 注意前面的步骤可以脱机执行,测试,最后可以在当前的Joomla中实现它们!2.5降低站点一日迁移的风险。
  • 使用最新的实时站点更新您的开发站点
  • 最后一步:“一键式”升级到Joomla!3在开发现场
  • 测试并检查一切,直到一切正常
  • 迁移实时站点(或在新的主机上还原最新的开发站点快照...。以防万一出问题,您必须重新激活J2.5站点)
  • 成功

1
非常安全的升级方法说明。我也在7月份大跌,并为此担心了一段时间。看完这篇,我感觉好多了。谢谢= ^ D
Mathew Lenning 2014年

5

对于从2.5到3.3的升级,我也很幸运能进行手动升级。对于版本,我将升至2.5.20-> 3.0.3-> 3.1.6-> 3.2.4-> 3.3.0。

这是完整的过程:

  1. 下载所有这些版本并在本地计算机上解压缩(这里是一个很好的资源:http : //www.whitefirdesign.com/resources/joomla-release-archive.html
  2. 使用Akeeba备份
  3. 使用Akeeba Kickstart在子文件夹中创建克隆站点(创建/使用新数据库)
  4. 在网站的后端,卸载“问题”扩展名(请参阅文章底部)
  5. 在FTP中,从新的Joomla版本上传所有文件,但/ installation /文件夹除外。
  6. 在网站的后端,转到扩展->扩展管理器->数据库,然后单击修复
  7. 然后转到扩展->扩展管理器->发现,点击发现并安装发现的任何内容
  8. 转到ACL管理器(如果没有,我强烈建议)并修复发现的任何ACL问题。 http://aclmanager.net
  9. 对下一个版本的Joomla重复此过程

获得最新版本后:

  1. 重新安装“问题”扩展
  2. 备份新版本
  3. 测试现场的问题
  4. 将原始站点移到子文件夹
  5. 将新站点移至根目录即可上线

由于完整版本的上载时间,整个过程耗时很长,但可以避免麻烦。

对于问题扩展,这些只是对我造成升级问题的。我的假设是,安装软件包实际上针对J2.5和J3.3具有不同的版本,因此在升级时会感到困惑。如果有人找到其他人,请告诉我。

  • NoNumbers扩展(NN管理器,缓存清除器,高级模块管理器,任意位置的模块等)

如果不使用最新版本,这些扩展可能会导致问题:

  • 表格
  • JW AllVideos
  • RokBox
  • 表格
  • 社会书签
  • XMap的

蓝焰形式也引起问题。
的编码器

3

我无法将目录从2.5.7升级到3.2.0。在这些升级过程中,我遇到了各种错误,有时根本无法升级。

我必须采取的升级路径是:

2.5.7→3.0.1→3.1.5→3.2.0

从那时起,我就能够正常升级了。我正在运行3.2.2,并计划很快升级到3.3。


从最新的2.5.x版本开始支持升级(到今天为止是2.5.20!)。从此版本,您可以直接升级到3.3.0。因此,您应该首先将非常老的2.5.7更新为2.5.20,然后再更新为3.3.0,而不是执行几个小步骤。
2014年

从2.5.20起,YellowWebMonkey似乎出现了相同的问题,有关更多详细信息,请参见他的答案。
ContextSwitch

我个人会对直接从2.5.20更新到3.3.0时遇到的错误感兴趣。只是在这里谈论核心,而不是第三方。
2014年

我要说的是,如果没有问题,很难复制它,从1.7开始,首先移至2.5.1几乎是没有错误的,但是直接进入最新版本总是有问题的。我怀疑这对开发人员是否有错,在为所有版本应用大量SQL更新文件时可能会超时?如果这是问题所在,也许Joomla更新应该具有独立的安装程序并按顺序安装更新,而不是立即应用所有更新(无论如何对于核心)。虽然这只是一个随机的想法,但这个答案使我对错误可能在哪里有了一个想法,只是一个“理论”。
乔丹·拉姆斯塔德

我将查看是否还有2.5.7数据库的副本。如果我发现它有问题,请用我遇到的问题更新答案。
ContextSwitch 2014年

2

要回答主要问题:

在Joomla的EoL之前,“一键式”升级的效果如何?2.5?

没有改善它的计划。它的工作没有核心问题。由于扩展输出的更改,将不得不替换模板。其他扩展需要手动检查,这取决于它们的构建方式。可以编写使用相同代码库在2.5.15+和3.x上均可使用的扩展。但是必须通过尝试或与开发人员联系(或阅读其常见问题解答)来进行检查。

2.5中唯一可以改进的是添加升级前的兼容性检查。为此已经做了一些工作,但是停了下来。社区中的某个人将不得不拿起并结束它。


2.5中缺少兼容性检查是您必须在升级平台上检查PHP版本的原因之一。“一键式”从2.5更新为3.2。* +使许多人的网站前后空白。
BodgeIT 2014年

2

这是一些有关升级的有用信息。

首先,如果网站最初是1.6,然后升级到2.5,那么即使在最新版本的2.5中,所有扩展名仍然可以使用。但是,升级到3.x需要重新安装。这是因为“更新”区域中的差异意味着,如果它是1.6,则更新服务器将无法正确读取更新,因此,如果它是1.6组件,至少在大多数情况下(我在DJ Image Slider中已经看到了这一点)和BreezingForms)一旦升级到2.5,将不会更新。

因此,需要在2.5的生命周期中的某个时候手动升级这些扩展。我相信,取决于扩展名,正常的sql更新也可能会出现问题,但要注意一点。

有时,扩展名可能会被重命名或“更新”,这将导致Joomla有时将其读取为新组件,从而导致同一组件的多个条目(新旧)。如果卸载其中一个,它仍将使用相同的数据库表,因此如果已安装它们,则将其清除。

想法: 因此,在这种情况下,我认为有用的一件事是在扩展管理器中添加一个功能,以检查用于较旧版本的扩展,以使其易于显示,这可以通过查看上次更新“日期”来完成如果当前版本已超过该版本,那么是否在Joomla可能进行重大更改之前就已经存在。

如果站点从1.6扩展到2.5,然后再扩展到3.x,则无论哪种方式都可以强制重新安装,从而清除数据。

另一个想法: 如果在更新旁边添加了“重新安装”,则使用跟踪较旧的版本及其更新服务器,或者使用自定义的url /上载来基本上卸载该组件而无需清除数据。然后在使用sql更新程序更新数据库表的同时重新安装它非常方便。

我使用的网站原本是1.6,因为它会更频繁地显示这些问题,而以2.5开头的网站也可能发生。

这就解释了许多问题,这些问题可能是由于从未升级过以扩展至3.x兼容性的扩展而引起的,插件是最糟糕的,因为即使在管理面板中,如果出现错误,也会使管理面板无法使用。

还有一个主意: Joomla更新管理器可以自动禁用除某些插件(例如akeeba,因为它跟踪更新)以外的所有第三方插件,然后进行更新。重新启用所有插件后,但会“检查”系统插件是否存在错误。我的意思是,它会使用try / catch自动触发各种事件,以查看是否存在错误,如果存在则禁用并通知。

现在,所有这些都假定没有核心问题,而这通常是更新中不应该发生的事情。

我上面发布的想法是针对开发团队的,其余的对于任何更新的人都是很好的信息。 我提出的想法甚至应该能够允许更新而无需先卸载/禁用扩展程序,这些扩展程序可能会给流程增加更多的工作。通过对本已很好的更新程序进行一些补充,将来甚至可能进行全自动更新(有点像wordpress)。


1

我发现升级有很多事情要考虑,根本不能认为它是“一键式”过程。

首先要考虑PHP版本。Joomla版本也...在爬到下一个梯子之前,总是在任何树中升级到最终版本。使用Akeeba CMS Updater选择要应用的更新以及从哪个分支。

扩展是它真正变得毛茸茸的地方。

使用像SP Transfer这样的扩展程序,可以通过创建一个辅助站点来减少问题,该站点可以在新版本中预先安装,并为该版本安装了所有组件,然后从数据库中提取所有必需的数据。

但是,此过程不适用于一般的日常用户。

我经常会发现资产表存在某种程度的问题,通常必须使用ACL Manager的诊断程序来修复表中的孤立或丢失的项目。


1

我使用的过程已经发展了大约40种不同的Joomla 2.5到3.x mini迁移。这不完全是“一键式”,但有助于避免最常见的陷阱。我管理的大多数网站都使用RocketTheme模板,并且Joomla 2.5模板具有等效的Joomla 3.x版本,这对我来说减少了模板迁移的问题,但是您的里程可能会有所不同。

  1. 检查托管环境是否适合Joomla 3.x

  2. 首先运行备份!

  3. 卸载所有与Joomla 3.x不兼容的扩展

  4. 如果尚未在2.5.28上更新到Joomla 2.5.28,则将所有第三方扩展更新到最新的可用Joomla 2.5版本

  5. 禁用“系统-记住我”插件

  6. 如果安装了Akeeba Backup,则禁用“系统-更新时备份”插件

  7. 在“全局配置”中,将“错误报告”设置为“开发”(因此,迁移后错误是可见的-如果您错过了此步骤,则可能必须使用FTP等下载configuration.php,对其进行编辑以启用消息,然后通过FTP等,这很痛苦)

  8. 将组件-> Joomla更新->选项更改为“短期支持”

  9. 在组件-> Joomla更新中,单击“安装更新”以从2.5.x更新到3.5.1,从3.5.1更新到3.6.5,然后从3.6.5更新到最新版本。清除Joomla缓存,然后在扩展->扩展管理器->更新中清除缓存,如果未提供更新,请重试。在执行会话令牌更新时,您可能必须重新认证一次或两次

  10. 如果尚未将其重置为“默认”,则将组件-> Joomla更新->选项->更新频道更改为“默认”

  11. 在所有已安装的扩展程序(尤其是ChronoForms和任何ChronoForms Actions)的顶部重新安装最新的Joomla 3.x扩展程序

  12. 清除Joomla缓存和Web浏览器缓存

  13. 在“全局配置”中,将“错误报告”设置回“无”

  14. 如果安装了Akeeba Backup,请重新启用“系统-更新时备份”插件

  15. 重新启用“系统-记住我”插件

  16. 禁用“系统-Joomla!更新通知”插件以关闭Joomla更新通知(可选)

  17. 删除Joomla 2.5模板(原子,beez5,beez_20,bluestork)

  18. 如果需要,在内容->文章->选项->编辑布局中启用版本控制(默认情况下禁用版本控制)

  19. 如果需要,请在“用户”->“管理”->“选项”->“用户选项”上禁用“允许用户注册”(在Joomla 2.5中已默认启用)

第11步很重要,它允许安装脚本执行Joomla 2.5最初安装时可能尚未运行的任何Joomla 3特定步骤。

请记住,如果合适,请更新PHP版本。PHP 5.3即将终止,并且对于Joomla 3.x而言,PHP 5.6或PHP 7.0或更高版本是更好的选择。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.