如何將 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 版本即可。