Magento 2.x PHPのmemory_limit要件


11

Magento 2.1のマニュアルがで推奨さmemory_limit=2Gphp.iniていることに気づきました。これは非常に大量のメモリです。そのメモリはHTTPリクエストごとに許可されていませんか?PHPスクリプトにその量のメモリを提供し、Magentoを共有ホスティングに利用できないようにするホスティングプロバイダーはないでしょう。

それはおそらくセットアップと移行のための量ですか?その量は本当に生産に必要ですか?

私もドキュメントで見つけました:

Set the PHP memory limit.
Our detailed recommendations are: 
Compiling code or deploying static assets, 756M 
Installing and updating Magento components from Magento Marketplace, 2G 
Testing, 2G

生産に関する推奨事項については触れていません。生産には何が推奨されますか?

回答:


8

あなたが見つけたドキュメンテーションの断片が説明するように、2Gすべての可能なユースケースをカバーするためのメモリ制限です。一部の操作(特に、セットアップ、テスト、コンパイルなどのコマンドライン操作)は、インストールのサイズと複雑さによっては、かなりの量のメモリを消費する可能性があります。

注意すべき点:

  1. memory_limit所定のPHPリクエストが終了するまでに許可されるメモリの大量です。これ、各要求が使用するメモリの総量ではありません。実際には、ほとんどの前向きの要求ははるかに少ないメモリ(ほとんどのCMSページ、カテゴリ、製品ではおそらく60 MB以下)を必要とし、一部の外れ値(チェックアウト)は、統合、カスタマイズなどに応じて数倍多くかかります。
  2. 一部のサーバーでは、Web要求とコマンドラインに対して異なるメモリ制限を設定できます。その場合は、CLI制限と2G、および768Mそれ以下のWeb制限が必要です。
  3. Magentoの自体は、ルールに介して、一律デフォルト768M制限を強制しよう.htaccesspub/.htaccessphp_value memory_limit 756Mとで.user.inimemory_limit = 756M
  4. 2 GBの最小値に関しておそらく目にした「テクノロジースタックの要件」ページは、PHPのメモリ制限ではなく、システムメモリの合計について話している。RAMが2 GB未満の仮想プライベートサーバー(スワップを含む)でMagento2を実行しようとすると、時間が悪くなります。
  5. 専用環境は常に共有ホスティングより優れていますが、Magento2は共有ホスティングで動作します。Magentoは、GoDaddyを含むいくつかの一般的なホスティングプロバイダーと幅広く協力して、ワンクリックインストールを実現しました。NexcessのようなMagento専用のホストもあり、数ドル以上でより高いレベルの共有サービスを提供します。

ポイント4に関して:技術スタックの要件ではなく、「必要なPHP設定」ドキュメントからのOPの引用。devdocs.magento.com/guides/v2.1/install-gde/prereq/… 彼らは、2GBのmemory_limitでのテストとインストールを推奨しています。
indefinitedevil

.user.iniMagentoがこの制限を適用するために使用/作成するファイルのリストに追加したいと思います。ルートとの両方にありpub/ます。
Bart Friederichs

推奨される2G環境は、リクエストごとの2Gとは大きく異なります。後者が忙しいサイトで実行可能であるとは想像できません。そして、たとえコマンドラインのPHP操作が2Gを消費しても、それは非常に非効率的なコードです。
MarkE 2018年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.