Magento 2を最新バージョンにアップグレードする方法は?
公開: 2022-05-27序章
通常、セキュリティの向上とパフォーマンスの向上を目的とした新しいバージョンのテクノロジは、以前のバージョンの抜け穴に基づいて変更と修正を行います。 このブログを通じて、Magento2を最新バージョンの2.4.4にアップグレードする手順を見ていきます。
プロセスに飛び込む前に、技術的な更新の基本的な必要性と、Magento2.4.4が大規模で実質的なリリースとして出くわす7つの領域を理解しましょう。
Magento2.4.4アップデートについて
すべてのバージョン更新の主な目的は、インフラストラクチャのアップグレード、コードの拡張、新機能の導入などの追加の変更により、セキュリティとパフォーマンスを向上させることです。 Magento 2.4.4のリリースにより、業界全体の専門家は、6つの変革分野に焦点を当てているため、重要なバージョンリリースと見なしています。
- Magento2.4.4用のPHP8.0およびeコマースプラットフォーム用のPHP8.1のサポートの紹介。 言語の更新により、Symfonyデモで23.0%のスピードアップが示されました。
- ElasticSearchサポートとともにOpenSearchサポートを追加します。
- サードパーティの拡張機能とモジュールを廃止したことで、Magentoは分離され、サードパーティの統合を利用せずにほとんどの機能を使用できるようになりました。
- ElasticSearch7.16.1とOpenSearch1.1のサポートの追加、jquery-uiのバージョン1.13.0へのアップグレード、プロジェクトライブラリと依存関係のPHP 8.1との互換性など、重要なソフトウェアコンポーネントを更新しました。
- パフォーマンスを向上させるためのライブラリの削除と更新。 次のものが削除されました– es6-collections.js、MutationObserver.js、Modernizr、FormData.js、およびscript.aculo.us、Chart.js、moment.js、moment-timezone-with-data.js、matchMediaなどの更新されたライブラリ.js、underscore.js、PrototypeJS。
- Magento 2.4.4リリースで、アドビはGraphQLエラーを修正して、製品構成の問題、製品識別の問題、カテゴリーの外観などを解決することを約束しました。
Magento 2.4.4が壊すアップデートがわかったので、それをアップグレードする手順を見てみましょう。
Magento 2.4.4にアップグレードする方法は?
Magentoをアップグレードする方法は3つありました
- コマンドラインからComposerを使用する
- 管理者からのWebセットアップウィザードの使用
- 最新のMagentoをダウンロードして、コアファイルを置き換えます
Magento 2.4.0のリリース以降、Magentoは管理パネルからWebセットアップウィザードを削除しました。 そのため、開発者はコマンドラインから、またはファイルの置換によってMagentoを更新する必要があります。 コマンドライン機能を提案します。 Webセットアップウィザードオプションがないため、使用可能なオプションについてのみ説明します。
コマンドラインからのComposerの使用
コンポーザーを使用してMagentoを更新することは、Magentoを更新する最初の方法です。 このプロセスの最初のステップは、コンポーザーを使用して新しいMagentoバージョンを定義することです。 以下のコマンドは、Magentoのルートディレクトリから実行できます。
Composerには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、file、path
これは、composerのバージョンを更新してもこのエラーが発生する場合は、composerのバージョンにも関係します。その後、ベンダーフォルダーをバックアップして、コマンドを再実行します。
最新のMagentoをダウンロードして、コアファイルを置き換えます
コアファイルを置き換えることは、Magentoを更新するための推奨される方法ではありません。 ただし、場合によっては、Magentoにサードパーティの拡張機能が多く、カスタマイズが多い場合は、この方法を選択する必要があります。 プロセスは簡単です。 まず、「ベンダー」フォルダーだけでなく、すべてのMagentoコアフォルダーのバックアップを取る必要があります。
![](https://s.stat888.com/img/bg.png)
コアフォルダのバックアップを取った後、最新のMagentoバージョンをダウンロードし、特定のフォルダを置き換える必要があります。
上記のすべての変更を行ったら、setupupgradeおよびdeployコマンドを実行する必要があります。
php bin / magento setup:upgrade
php bin / magento setup:static-content:deploy
そして、これがMagentoを更新するために必要なすべてです。 Magentoを更新する前に考慮すべきことがいくつかあります。
最初にサイトをバックアップします
アップグレード後に「setupupgrade」コマンドを実行すると、テーブル内の新しいフィールドまたは一部のフィールドが消去される可能性があるため、データベースをバックアップしてください。
テーマと拡張機能がMagentoの最新バージョンと互換性があるかどうかを確認してください。
上記では、Magentoのアップグレード中に問題が発生しました。 次に、Magentoをアップグレードした後のいくつかの既知の問題について説明します。
次のコンテンツセキュリティポリシーの指示に違反しているため、インラインスクリプトの実行を拒否しました。
Magentoは、CSRF保護に関して「Magento_CSP」と呼ばれる新しいモジュールを導入しました。 すべてのCDNリソースへのアクセスを許可する必要があります。 以下のパスでモジュールにXMLファイルを作成できます
app / etc / COMPANYNAME / MODULENAME / etc / csp_whitelist.xml
以下のコードをファイルに追加します。 この例は、GoogleアナリティクスのURLで機能します
<?xml version =” 1.0”?>
<csp_whitelist xmlns:xsi =” http://www.w3.org/2001/XMLSchema-instance” xsi:noNamespaceSchemaLocation =” urn:magento:module:Magento_Csp / etc / csp_whitelist.xsd”>
<ポリシー&gt
<policy id =” script-src”>
<値>
<!– Google>
<value id =” google-analytics” type =” host”> www.google-analytics.com> </ value>
</ values>
<ポリシー>
<ポリシー>
<csp_whitelist>
結論
古いバージョンのMagentoを実行することはお勧めできません。 今日では、最新である必要があります。 Magentoをアップグレードすると、最新のセキュリティアップデートと、新機能およびパフォーマンスの向上の利点が提供されます。
Magentoには、拡張機能とテーマの更新バージョンも必要なので、それらも利用できます。 だから、あなたの開発ニーズを手間をかけずに満たす経験豊富なMagento開発会社に連絡してください!
はい、MagentoにはPayPal支払いの拡張機能があり、Venmo支払いオプションをサポートしています
Magento2.4.4はmysql8.0をサポートします。 すでに使用している場合は、更新する必要はありません。
いいえ、コンポーザーを使用して拡張機能をインストールした場合は、コンポーザーの更新を実行する前に、それらの拡張機能の新しいバージョンを定義する必要があります。
いいえ。PHPのバージョンを確認する必要があります。