如何将 Magento 2 升级到最新版本?

已发表: 2022-05-27

介绍

通常以提高安全性和增强性能为目的,较新版本的技术会在先前版本的漏洞的基础上带来更改和修复。 通过这篇博客,我们将了解将 Magento 2 升级到最新版本 2.4.4 的步骤。

在我们深入了解该过程之前,让我们了解技术更新的基本需求以及 Magento 2.4.4 大规模和实质性发布的七个领域。

关于 Magento 2.4.4 更新

每次版本更新的核心目的是通过基础设施升级、代码增强和新功能引入等附加更改来提高安全性和性能。 随着 Magento 2.4.4 的发布,业界专家认为它是一个重要的版本发布,因为它专注于六个转型领域;

  1. 介绍了对 Magento 2.4.4 的 PHP 8.0 和电子商务平台的 PHP 8.1 的支持。 语言更新在 Symfony Demo 中显示了 23.0% 的加速。
  2. 添加 OpenSearch 支持以及 ElasticSearch 支持。
  3. Magento 取消了第三方扩展和模块,现在解耦并允许大多数功能,而无需利用任何第三方集成。
  4. 更新了重要的软件组件,例如添加 ElasticSearch 7.16.1 和 OpenSearch 1.1 支持、将 jquery-ui 升级到 1.13.0 版本,以及与 PHP 8.1 兼容的项目库和依赖项。
  5. 删除和更新库以提高性能。 以下内容已删除 - es6-collections.js、MutationObserver.js、Modernizr、FormData.js,以及更新的库,如 script.aculo.us、Chart.js、moment.js、moment-timezone-with-data.js、matchMedia .js、下划线.js、PrototypeJS。
  6. 随着 Magento 2.4.4 版本的发布,Adobe 承诺修复 GraphQL 错误以解决产品配置问题、产品识别问题、类别的出现等问题,

现在我们知道 Magento 2.4.4 中断的更新,让我们看看升级它的步骤。

如何升级到 Magento 2.4.4?

升级 Magento 的三种方法

  1. 从命令行使用 Composer
  2. 从管理员使用 Web 设置向导
  3. 下载最新的 Magento 并替换核心文件

自 Magento 2.4.0 发布以来,Magento 从管理面板中删除了 Web 设置向导。 因此,开发人员必须从命令行或通过文件替换来更新 Magento。 我会建议命令行功能。 由于没有 Web 设置向导选项,我们将仅讨论可用选项。

从命令行使用 Composer

使用 composer 更新 Magento 是更新 Magento 的第一种方法。 此过程的第一步是使用 composer 定义新的 Magento 版本。 您可以从 Magento 根目录运行以下命令。

作曲家需要 magento/product-community-edition 2.4.4 –no-update

编写完上述命令后,您需要使用 composer 更新 Magento。

作曲家更新

运行 composer update 命令后,您可以从 Magento 存储库下载所有更新的模块。 确保您的系统规格与最新的 Magento 版本兼容。 如果一切都如预期的那样,那么您在更新 Magento 时不会遇到任何问题。 但是,如果您的系统不是最新的,或者任何第三方扩展可能会造成问题,您可能会遇到最常见的问题

以下是您在更新 Magento 时可能面临的一些已知问题

未定义的类常量 PRE_COMMAND_RUN

如果您收到此错误,则表示您的作曲家版本旧,您需要更新作曲家版本。 运行以下命令以更新作曲家版本。

作曲家自我更新

未知下载器类型:可用类型:git、svn、fossil、hg、perforce、zip、rar、tar、gzip、xz、phar、文件、路径

这也与作曲家版本有关,如果您已更新作曲家版本但仍然收到此错误,请备份您的供应商文件夹并重新运行命令。

下载最新的 Magento 并替换核心文件

替换核心文件不是更新 Magento 的推荐方法。 但是在某些情况下,当 Magento 有更多的第三方扩展和更多的自定义时,我们不得不选择这种方式。 这个过程很简单。 首先,您需要备份所有 Magento 核心文件夹,而不仅仅是“vendor”文件夹。

备份核心文件夹后,您需要下载最新的 Magento 版本并替换特定文件夹。

完成上述所有更改后,您需要运行 setup upgrade 和 deploy 命令。

php bin/magento 设置:升级

php bin/magento 设置:静态内容:部署

这就是更新 Magento 所需要做的一切。 在更新 Magento 之前,有几件事情需要考虑。

首先备份您的网站

备份您的数据库,因为当您在升级后运行“setup upgrade”命令时,表中的新字段或某些字段可能会消失。

检查您的主题和扩展是否与最新版本的 Magento 兼容。

上面,我们在升级 Magento 时看到了这些问题。 现在我们将讨论升级 Magento 后的一些已知问题。

拒绝执行内联脚本,因为它违反了以下内容安全策略指令。

Magento 针对 CSRF 保护引入了名为“Magento_CSP”的新模块。 您需要允许访问所有 CDN 资源。 您可以在以下路径的模块中创建 XML 文件

应用程序/etc/COMPANYNAME/MODULENAME/etc/csp_whitelist.xml

将以下代码添加到您的文件中。 此示例适用于谷歌分析 URL

<?xml 版本=“1.0”?>

<csp_whitelist xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation=”urn:magento:module:Magento_Csp/etc/csp_whitelist.xsd”>

<政策>

<policy id=”script-src”>

<值>

<!–谷歌>

<value id=”google-analytics” type=”host”>www.google-analytics.com> </value>

</值>

<政策>

<政策>

<csp_whitelist>

结论

运行旧版本的 Magento 不是一个好主意。 如今,有必要与时俱进。 升级 Magento 将为您提供最新的安全更新以及新功能和性能改进的优势。

Magento 还需要更新版本的扩展和主题,因此您也可以利用它们。 因此,请联系经验丰富的 Magento 开发公司,它将轻松满足您的开发需求!

常问问题
较新版本的 Magento 是否支持 Venmo 付款选项

是的,Magento 具有 PayPal 付款增强功能并支持 Venmo 付款选项

我需要更新mysql版本吗?

Magento 2.4.4 支持 mysql 8.0。 如果您已经在使用它,则不需要更新。

扩展是否会通过运行 composer update 自动更新?

不,如果您已经使用 composer 安装了一个扩展,那么您必须在运行 composer update 之前为这些扩展定义一个新版本。

我们是否需要升级服务器配置来更新 Magento 版本?

不,您只需要确定 PHP 版本即可。