설명서Commerce구성 안내서

PaaS만

env.php 참조

마지막 업데이트: 2025년 6월 6일
  • 주제:
  • 구성

작성 대상:

  • 경험
  • 관리자
  • 개발자

env.php 파일에는 다음 섹션이 포함되어 있습니다.

이름설명
backend관리 영역에 대한 설정
cacheRedis 페이지 및 기본 캐시 구성
cache_types캐시 저장소 설정
consumers_wait_for_messages소비자가 메시지 큐의 메시지를 처리하는 방법 구성
croncron 작업 활성화 또는 비활성화
crypt암호화 기능의 암호화 키
db데이터베이스 연결 설정
default_connection메시지 대기열 기본 연결
directoriesCommerce 디렉터리 매핑 설정
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
]
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 파일에 정의되어 있지 않은 한 이 연결은 시스템을 통한 모든 메시지 큐에 사용됩니다.
예를 들어 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'
]

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

설치

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_SESSION__SAVE을(를) 가져오기 위해 접두사로 MAGENTO_DC_을(를) 사용합니다.

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 변수의 값으로 설정해야 합니다.

여러 구성 옵션을 재정의해야 하는 경우 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