不用说,但可能是一个好主意:在任何升级之前,您需要确保您有完整的文件和数据库备份。我还强烈建议使用暂存环境来测试升级过程。
假设将适当的代码技术应用于您的 Magento 商店,升级 Magento 的代码和数据库相对容易。棘手的部分是当您有很多第三方扩展和自定义主题时。在某些情况下,扩展和主题文件绑定到特定版本的 Magento,因此一旦您的核心文件升级,某些部分或功能将因此中断。因此,通常您需要升级三个主要领域:核心、主题和扩展。这些是您需要遵循的步骤:
核心升级
- 备份!备份!备份!
- 在暂存环境中工作
- 列出所有第三方扩展
- 禁用所有第三方扩展(在所有 xml 文件中设置为“false”)
- 列出所有本地修改(/app/code/local/* 下的所有文件)
- 更新所有核心文件(从最新稳定版本下载并解压缩文件到您的 webroot)
- 清除缓存,注销并重新登录到管理区域
- 如果没有发生错误,继续主题升级
- 如果发生错误,您需要查找会破坏新版本数据库或文件的本地文件修改 (/app/code/local/*)。这些修改需要更正或删除。
主题升级
- 在 1.4 和 1.7 之间发生了很多变化,即使管理区域升级得当,也可能在主题级别上出现一些问题。解决此问题的两种方法:A.获取新的 1.7 兼容主题或B.升级当前主题。
- 要安装新的主题文件,只需解压新的主题文件并配置商店以使用这个新的主题。
- 要升级现有主题,请逐个文件和逐个布局进行比较。找到 /app/design/frontend/[package]/[theme]/* 下的所有文件,并将它们与 /app/design/frontend/base/default/* 中的对应文件进行比较。确保复制版本修改但保留与主题相关的差异。
- 对于每个文件,您需要测试网站的前端或相关部分。
第三方扩展升级
- 您需要首先检查并获取每个第三方扩展的最新版本。
- 一个一个地启用每个扩展并检查一切是否正常。
- 如果一个扩展中断,要么修复它,要么获得具有相同功能的不同扩展。通过这种方式,您可以从第三方扩展中隔离出任何可能破坏升级过程的潜在问题。
- 如果您要摆脱第三方扩展,请确保删除其所有文件,包括 xml、前端、皮肤和任何 JS 文件(如果存在)。
- 如果扩展有自己的数据并且在升级过程中丢失,您可以从数据库备份中检索数据。请注意,如果您遵循这些步骤,编写良好的扩展将正确升级。
- 对所有扩展重复上述步骤。不要忘记测试扩展添加到 Magento 的功能,并确保您还对购物车的前端和后端运行一般测试。
- 一些扩展需要通过连接管理器甚至手动重新安装。
当您完成上述过程时,我建议您记录为使 Magento 正确升级而采取的所有操作。某些扩展或主题文件会有某些例外情况,需要在实时网站上重复。这将为您提供升级您的实时 Magento 站点的蓝图。