env.php リファレンス
env.php ファイルには、次のセクションが含まれています。
backendcachecache_typesconsumers_wait_for_messagescroncryptdbdefault_connectiondirectoriesdownloadable_domainsinstalllockMAGE_MODEqueueresourcesessionsystemx-frame-optionsバックエンド
env.phpのbackend ノードを使用して、Commerce管理者URLの frontName を設定します。
'backend' => [
'frontName' => 'admin'
]
キャッシュ
env.php ファイルのcache ノードを使用して、redis ページとデフォルトのキャッシュを設定します。
'cache' => [
'frontend' => [
'default' => [
'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis',
'backend_options' => [
'server' => '127.0.0.1',
'database' => '0',
'port' => '6379'
],
],
'page_cache' => [
'backend' => 'Magento\\Framework\\Cache\\Backend\\Redis',
'backend_options' => [
'server' => '127.0.0.1',
'port' => '6379',
'database' => '1',
'compress_data' => '0'
]
]
]
]
詳しくは、Redis Configurationを参照してください。
cache_types
すべてのキャッシュタイプ設定は、このノードから使用できます。
'cache_types' => [
'config' => 1,
'layout' => 1,
'block_html' => 1,
'collections' => 1,
'reflection' => 1,
'db_ddl' => 1,
'compiled_config' => 1,
'eav' => 1,
'customer_notification' => 1,
'config_integration' => 1,
'config_integration_api' => 1,
'full_page' => 1,
'config_webservice' => 1,
'translate' => 1,
'vertex' => 1
]
様々な キャッシュタイプ について詳しく説明します。
consumers_wait_for_messages
処理済みメッセージの数がmax_messages値未満の場合、消費者がメッセージのポーリングを続行するかどうかを指定します。 デフォルト値は1です。
'queue' => [
'consumers_wait_for_messages' => 1
]
次のオプションを使用できます。
-
1- TCP接続を閉じてコンシューマープロセスを終了する前に、env.phpファイルで指定されたmax_messages値に達するまで、消費者はメッセージキューからのメッセージを処理し続けます。 キューがmax_messagesの値に達する前に空になった場合、消費者はより多くのメッセージが届くのを待ちます。一定のメッセージフローが期待され、処理の遅延が望ましくないため、大規模なマーチャントにこの設定をお勧めします。
-
0- コンシューマーはキュー内の使用可能なメッセージを処理し、TCP接続を閉じて終了します。 処理済みメッセージの数がenv.phpファイルで指定されたmax_messages値より少ない場合でも、消費者は追加のメッセージがキューに入るのを待ちません。 これにより、メッセージキュー処理の遅延が長くなることによるcron ジョブの問題を回避できます。この設定は、一定のメッセージフローを期待せず、メッセージが何日も表示されない可能性がある場合に小さな処理の遅延と引き換えにコンピューティングリソースを節約することを好む小規模なマーチャントにお勧めします。
cron
Commerce アプリケーションのcron ジョブを有効または無効にします。 デフォルトでは、cron ジョブは有効になっています。 無効にするには、cron設定をenv.php ファイルに追加し、値を0に設定します。
'cron' => [
'enabled' => 0
]
Cronsの詳細をご覧ください。
暗号化
Commerceでは、暗号化キーを使用してパスワードやその他の機密データを保護しています。 このキーは、インストールプロセス中に生成されます。
'crypt' => [
'key' => '63d409380ccb1182bfb27c231b732f05'
]
暗号化キーの詳細については、Commerce ユーザーガイドを参照してください。
db
すべてのデータベース設定は、このノードで使用できます。
'db' => [
'table_prefix' => '',
'connection' => [
'default' => [
'host' => 'localhost',
'dbname' => 'magento_db',
'username' => 'root',
'password' => 'admin123',
'model' => 'mysql4',
'engine' => 'innodb',
'initStatements' => 'SET NAMES utf8;',
'active' => '1'
]
]
]
default_connection
メッセージキューのデフォルト接続を定義します。 値は、db、amqp、stomp、またはredismqのようなカスタムキューシステムにすることができます。 db以外の値を指定する場合は、最初にメッセージキューソフトウェアをインストールして設定する必要があります。 それ以外の場合、メッセージは正しく処理されません。
'queue' => [
'default_connection' => 'amqp'
]
STOMP (ActiveMQ Artemis)の場合:
'queue' => [
'default_connection' => 'stomp'
]
queue/default_connectionがシステム env.php ファイルで指定されている場合、特定の接続がqueue_topology.xml、queue_publisher.xmlまたはqueue_consumer.xml ファイルで定義されていない限り、この接続はシステムを介するすべてのメッセージキューに使用されます。
例えば、queue/default_connectionがenv.phpのamqpであるが、db接続がモジュールのキュー構成XML ファイルで指定されている場合、モジュールはMySQLをメッセージブローカーとして使用します。
ディレクトリ
Web サーバーが/pub ディレクトリから セキュリティの向上のためにCommerce アプリを提供するように設定されている場合に設定する必要がある、オプションのディレクトリマッピングオプション。
'directories' => [
'document_root_is_pub' => true
]
downloadable_domain
このノードで使用可能なダウンロード可能なドメインのリスト。 追加のドメインは、CLI コマンドを使用して追加、削除、または一覧表示できます。
'downloadable_domains' => [
'local.vanilla.com'
]
ダウンロード可能なドメイン の詳細をご覧ください。
インストール
Commerce アプリケーションのインストール日。
'install' => [
'date' => 'Tue, 23 Apr 2019 09:31:07 +0000'
]
ロック
ロックプロバイダーの設定は、lock ノードを使用して設定されます。
プロバイダ設定のロック の詳細を説明します。
MAGE_MODE
デプロイモードは、このノードで設定できます。
'MAGE_MODE' => 'developer'
アプリケーションモード の詳細をご覧ください。
キュー
メッセージキューの設定は、このノードで使用できます。 RabbitMQ (AMQP)またはActiveMQ Artemis (STOMP)をメッセージブローカーとして設定できます。
'queue' => [
'topics' => [
'customer.created' => [publisher="default-broker"],
'order.created' => [publisher="default-broker"],
]
]
メッセージキューの詳細をご覧ください。
リソース
リソース設定は、このノードで使用できます。
'resource' => [
'default_setup' => [
'connection' => 'default'
]
]
セッション
セッション設定はsession ノードに保存されます。
'session' => [
'save' => 'files'
],
セッション の詳細をご覧ください。
x-frame-options
x-frame-options ヘッダーは、このノードを使用して設定できます。
'x-frame-options' => 'SAMEORIGIN'
x-frame-optionsの詳細をご覧ください。
システム
このノードを使用すると、Commerceはenv.php ファイル内の設定値をロックし、管理者のフィールドを無効にします。
'system' => [
'default' => [
'web' => [
'secure' => [
'base_url' => 'https://magento.test/'
]
]
]
詳しくは、env-php-config-setを参照してください。
ファイル設定への変数の追加
オペレーティングシステム(OS)レベルの環境変数を使用して、すべての設定オプション(値を持つ変数)を設定または上書きできます。
env.php設定は、ネストされたレベルを持つ配列に格納されます。 ネストされた配列パスをOS環境変数の文字列に変換するには、パス内の各キーをダブルアンダースコア文字__、大文字、および接頭辞MAGENTO_DC_で連結します。
例えば、セッション保存ハンドラーをenv.php設定からOS環境変数に変換します。
'session' => [
'save' => 'files'
],
__と連結され、大文字のキーはSESSION__SAVEになります。
次に、MAGENTO_DC_という接頭辞を付けて、結果として得られるOS環境変数名MAGENTO_DC_SESSION__SAVEを取得します。
export MAGENTO_DC_SESSION__SAVE=files
別の例として、スカラーenv.php設定オプションパスを変換してみましょう。
'x-frame-options' => 'SAMEORIGIN'
最終的なOS環境変数名MAGENTO_DC_X-FRAME-OPTIONSを受け取るには、大文字とMAGENTO_DC_をプレフィックスするだけです。
export MAGENTO_DC_X-FRAME-OPTIONS=SAMEORIGIN
env.php コンテンツは、OS環境変数よりも優先されます。変数でファイル設定を上書き
既存のenv.php設定オプションをOS環境変数で上書きするには、設定の配列要素をJSON エンコードし、MAGENTO_DC__OVERRIDE OS変数の値として設定する必要があります。
MAGENTO_DC__OVERRIDEが設定されると、Commerce フレームワークはenv.php ファイル内の対応する値をバイパスし、環境変数から直接設定を読み取ります。 env.php ファイルの値は変更されませんが、上書きされた設定セクションでは無視されます。
MAGENTO_DC__OVERRIDE変数は、env.php ファイル内の指定された構成セクションを完全にバイパスします。 この動作は、env.php ファイルの値よりも優先度が低い個々のMAGENTO_DC_変数とは異なります。複数の設定オプションを上書きする必要がある場合は、JSON エンコーディングの前に、すべての設定を1つの配列に組み立てます。
例えば、次のenv.php設定を上書きします。
'session' => [
'save' => 'files'
],
'x-frame-options' => 'SAMEORIGIN'
上記の配列のJSON エンコードされたテキストは{"session":{"save":"files"},"x-frame-options":"SAMEORIGIN"}.
次に、MAGENTO_DC__OVERRIDE OS変数の値として設定します。
export MAGENTO_DC__OVERRIDE='{"session":{"save":"files"},"x-frame-options":"SAMEORIGIN"}'