[PaaS만]{class="badge informative" title="Adobe Commerce 온 클라우드 프로젝트(Adobe 관리 PaaS 인프라) 및 온프레미스 프로젝트에만 적용됩니다."}

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의 노드를 사용하여 Commerce 관리 URL에 대한 frontNamebackend을(를) 구성합니다.

'backend' => [
  'frontName' => 'admin'
]

캐시

cache 파일에서 env.php 노드를 사용하여 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 연결을 닫고 소비자 프로세스를 종료하기 전에 소비자가 max_messages 파일에 지정된 env.php 값에 도달할 때까지 메시지 큐에서 메시지를 계속 처리합니다. max_messages 값에 도달하기 전에 큐를 비우면 소비자는 더 많은 메시지가 도착할 때까지 기다립니다.

    지속적인 메시지 흐름이 예상되고 처리 지연이 바람직하지 않으므로 대규모 판매자에 대해 이 설정을 권장합니다.

  • 0 - 소비자가 큐에서 사용 가능한 메시지를 처리하고 TCP 연결을 닫고 종료합니다. 소비자는 처리된 메시지 수가 max_messages 파일에 지정된 env.php 값보다 적더라도 추가 메시지가 대기열에 들어갈 때까지 기다리지 않습니다. 이렇게 하면 메시지 큐 처리의 오랜 지연으로 인한 cron 작업 문제를 방지하는 데 도움이 될 수 있습니다.

    메시지 흐름이 일정하지 않고 며칠 동안 메시지가 없을 때 약간의 처리 지연에 대한 교환 조건으로 컴퓨팅 리소스를 보존하려는 소규모 가맹점에 이 설정을 권장합니다.

cron

Commerce 애플리케이션에 대한 cron 작업을 활성화하거나 비활성화합니다. 기본적으로 cron job이 활성화되어 있습니다. 비활성화하려면 cron 구성을 env.php 파일에 추가하고 값을 0(으)로 설정하십시오.

'cron' => [
  'enabled' => 0
]
WARNING
cron 작업을 비활성화할 때는 주의하십시오. 비활성화된 경우 Commerce 애플리케이션에 필요한 필수 프로세스는 실행되지 않습니다.

크론에 대해 자세히 알아보세요.

암호

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 또는 redismq과(와) 같은 사용자 지정 큐 시스템일 수 있습니다. db 이외의 값을 지정하는 경우 먼저 메시지 큐 소프트웨어를 설치 및 구성해야 합니다. 그렇지 않으면 메시지가 올바르게 처리되지 않습니다.

'queue' => [
    'default_connection' => 'amqp'
]

queue/default_connection이(가) 시스템 env.php 파일에 지정된 경우, 특정 연결이 queue_topology.xml, queue_publisher.xml 또는 queue_consumer.xml 파일에 정의되어 있지 않은 한 이 연결은 시스템을 통한 모든 메시지 큐에 사용됩니다.
예를 들어 queue/default_connection에서 amqp이(가) env.php이지만 모듈의 큐 구성 XML 파일에 db 연결이 지정된 경우 모듈은 MySQL을 메시지 브로커로 사용합니다.

디렉터리

웹 서버가 /pub향상된 보안을 위해디렉터리에서 Commerce 앱을 제공하도록 구성된 경우 설정해야 하는 선택적 디렉터리 매핑 옵션입니다.

'directories' => [
    'document_root_is_pub' => true
]

downloadable_domains

이 노드에서 사용할 수 있는 다운로드 가능한 도메인 목록입니다. 추가 도메인은 CLI 명령을 사용하여 추가, 제거 또는 나열할 수 있습니다.

'downloadable_domains' => [
    'local.vanilla.com'
]

다운로드 가능한 도메인에 대해 자세히 알아보세요.

설치

Commerce 애플리케이션 설치 날짜입니다.

'install' => [
  'date' => 'Tue, 23 Apr 2019 09:31:07 +0000'
]

잠금

잠금 공급자 설정이 lock 노드를 사용하여 구성되었습니다.

공급자 구성 잠금에 대해 자세히 알아보세요.

MAGE_모드

이 노드에서 배포 모드를 구성할 수 있습니다.

'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

이 노드를 사용하여 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이(가) 됩니다.

그런 다음 결과 OS 환경 변수 이름 MAGENTO_DC_을(를) 가져오기 위해 접두사로 MAGENTO_DC_SESSION__SAVE을(를) 사용합니다.

export MAGENTO_DC_SESSION__SAVE=files

다른 예로 스칼라 env.php 구성 옵션 경로를 변환해 보겠습니다.

'x-frame-options' => 'SAMEORIGIN'
INFO
변수 이름은 대문자로 입력해야 하지만, 값은 대/소문자를 구분하므로 문서화된 대로 유지되어야 합니다.

대문자를 사용하고 접두사는 MAGENTO_DC_을(를) 사용하여 최종 OS 환경 변수 이름 MAGENTO_DC_X-FRAME-OPTIONS을(를) 받습니다.

export MAGENTO_DC_X-FRAME-OPTIONS=SAMEORIGIN
INFO
env.php 콘텐츠는 OS 환경 변수보다 우선 순위가 높습니다.

변수를 사용하여 파일 구성 재정의

OS 환경 변수로 기존 env.php 구성 옵션을 재정의하려면 구성의 배열 요소를 JSON으로 인코딩하고 MAGENTO_DC__OVERRIDE OS 변수의 값으로 설정해야 합니다.

MAGENTO_DC__OVERRIDE이(가) 설정되면 Commerce 프레임워크는 env.php 파일의 해당 값을 무시하고 환경 변수에서 직접 구성을 읽습니다. env.php 파일의 값은 변경되지 않지만 재정의된 구성 섹션에는 무시됩니다.

IMPORTANT
MAGENTO_DC__OVERRIDE 변수는 env.php 파일에서 지정된 구성 섹션을 완전히 무시합니다. 이 동작은 MAGENTO_DC_ 파일의 값보다 우선 순위가 낮은 개별 env.php 변수와 다릅니다.

여러 구성 옵션을 재정의해야 하는 경우 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"}'
INFO
OS가 인코딩된 문자열을 손상하지 않도록 JSON 인코딩된 배열이 올바르게 따옴표로 묶이거나 필요한 경우 이스케이프되는지 확인하십시오.
recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c