env.php 참조
- 주제:
- 구성
작성 대상:
- 경험
- 관리자
- 개발자
env.php
파일에는 다음 섹션이 포함되어 있습니다.
이름 | 설명 |
---|---|
backend | 관리 영역에 대한 설정 |
cache | Redis 페이지 및 기본 캐시 구성 |
cache_types | 캐시 저장소 설정 |
consumers_wait_for_messages | 소비자가 메시지 큐의 메시지를 처리하는 방법 구성 |
cron | cron 작업 활성화 또는 비활성화 |
crypt | 암호화 기능의 암호화 키 |
db | 데이터베이스 연결 설정 |
default_connection | 메시지 대기열 기본 연결 |
directories | Commerce 디렉터리 매핑 설정 |
downloadable_domains | 다운로드 가능한 도메인 목록 |
install | 설치 날짜 |
lock | 공급자 설정 잠금 |
MAGE_MODE | 응용 프로그램 모드 |
queue | 메시지 큐 설정 |
resource | 연결에 리소스 이름 매핑 |
session | 세션 저장소 데이터 |
system | 관리자의 편집 필드 비활성화 |
x-frame-options | [x-frame-options][x-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 구성에서 자세히 알아보세요.
cache_type
이 노드에서 모든 캐시 유형 구성을 사용할 수 있습니다.
'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
]
다른 캐시 형식에 대해 자세히 알아보세요.
consumer_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 job이 활성화되어 있습니다. 비활성화하려면 cron
구성을 env.php
파일에 추가하고 값을 0
(으)로 설정하십시오.
'cron' => [
'enabled' => 0
]
크론에 대해 자세히 알아보세요.
암호
Commerce은 암호 및 기타 중요한 데이터를 보호하기 위해 암호화 키를 사용합니다. 이 키는 설치 프로세스 중에 생성됩니다.
'crypt' => [
'key' => '63d409380ccb1182bfb27c231b732f05'
]
'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
또는 redismq
과(와) 같은 사용자 지정 큐 시스템일 수 있습니다. db
이외의 값을 지정하는 경우 먼저 메시지 큐 소프트웨어를 설치 및 구성해야 합니다. 그렇지 않으면 메시지가 올바르게 처리되지 않습니다.
'queue' => [
'default_connection' => 'amqp'
]
queue/default_connection
이(가) 시스템 env.php
파일에 지정된 경우, 특정 연결이 queue_topology.xml
, queue_publisher.xml
또는 queue_consumer.xml
파일에 정의되어 있지 않은 한 이 연결은 시스템을 통한 모든 메시지 큐에 사용됩니다.
예를 들어 env.php
에서 queue/default_connection
이(가) amqp
이지만 모듈의 큐 구성 XML 파일에 db
연결이 지정된 경우 모듈은 MySQL을 메시지 브로커로 사용합니다.
디렉터리
웹 서버가 향상된 보안을 위해 /pub
디렉터리에서 Commerce 앱을 제공하도록 구성된 경우 설정해야 하는 선택적 디렉터리 매핑 옵션입니다.
'directories' => [
'document_root_is_pub' => true
]
downloadable_domains
이 노드에서 사용할 수 있는 다운로드 가능한 도메인 목록입니다. 추가 도메인은 CLI 명령을 사용하여 추가, 제거 또는 나열할 수 있습니다.
'downloadable_domains' => [
'local.vanilla.com'
]
'install' => [
'date' => 'Tue, 23 Apr 2019 09:31:07 +0000'
]
'MAGE_MODE' => 'developer'
'queue' => [
'topics' => [
'customer.created' => [publisher="default-rabitmq"],
'order.created' => [publisher="default-rabitmq"],
]
]
'resource' => [
'default_setup' => [
'connection' => 'default'
]
]
session
세션 구성은 session
노드에 저장됩니다.
'session' => [
'save' => 'files'
],
'x-frame-options' => 'SAMEORIGIN'
'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
이(가) 됩니다.
그런 다음 결과 OS 환경 변수 이름 MAGENTO_DC_SESSION__SAVE
을(를) 가져오기 위해 접두사로 MAGENTO_DC_
을(를) 사용합니다.
export MAGENTO_DC_SESSION__SAVE=files
다른 예로 스칼라 env.php
구성 옵션 경로를 변환해 보겠습니다.
'x-frame-options' => 'SAMEORIGIN'
대문자를 사용하고 접두사는 MAGENTO_DC_
을(를) 사용하여 최종 OS 환경 변수 이름 MAGENTO_DC_X-FRAME-OPTIONS
을(를) 받습니다.
export MAGENTO_DC_X-FRAME-OPTIONS=SAMEORIGIN
env.php
콘텐츠는 OS 환경 변수보다 우선 순위가 높습니다.변수를 사용하여 파일 구성 재정의
OS 환경 변수로 기존 env.php
구성 옵션을 재정의하려면 구성의 배열 요소를 JSON으로 인코딩하고 MAGENTO_DC__OVERRIDE
OS 변수의 값으로 설정해야 합니다.
여러 구성 옵션을 재정의해야 하는 경우 JSON 인코딩 전에 모든 구성 옵션을 단일 배열로 취합하십시오.
예를 들어 다음 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"}'