관리자 환경설정 저장값이 config 를 덮는 기존 설계는 공유호스팅을 1차 대상으로 삼은 결과다. .env 를 배포 기준값으로 관리하는 설치에서는 그 설계가 반대로 작동해, 설치기가 defaults 를 시드하는 순간부터 .env 의 28개 항목이 오류도 로그도 없이 사문화된다. G7_ENV_PRIORITY 옵트인으로 그 소유권을 키 단위로 되돌린다. 스위치를 켜지 않은 설치는 전 경로가 조기 return 이라 동작이 100% 동일하다. 명시 여부는 config 빌드 시점에 캡처한다 — 런타임 env 는 config:cache 환경에서 null 로 고정되어 판정이 영구 미발동한다(attachment.disk_explicit 와 같은 함정). 판정은 strict 라 APP_DEBUG=false·REDIS_DB=0 같은 falsy 명시도 명시로 본다. 잠금은 그 키의 주입만 건너뛰는 것이지만, 제거된 키의 부재를 값으로 읽는 자리가 있으면 형제 설정까지 무너진다. 게이트(웹소켓 토글·메일 드라이버·디버그 모드)와 기본값 주입(mailgun.endpoint·ses.region), 형제 폴백(reverb server endpoint), 파생 판정(storage_driver→attachment.disk)을 유효값으로 보정했다.
114 lines
3.1 KiB
Bash
114 lines
3.1 KiB
Bash
APP_NAME="그누보드7"
|
|
APP_ENV=testing
|
|
APP_KEY=
|
|
APP_DEBUG=false
|
|
APP_URL=http://localhost
|
|
APP_VERSION=7.0.10
|
|
|
|
# 리버스 프록시(AWS ALB, CloudFront, Cloudflare, nginx, ngrok) 뒤에서 HTTPS 를 인식하려면
|
|
# 신뢰할 프록시를 지정합니다. 미설정 시 아무 프록시도 신뢰하지 않습니다(기존 동작).
|
|
# * = 직전 호출 IP 만 신뢰 (동일 호스트 프록시·ALB. ** 도 동일하게 동작합니다)
|
|
# IP,IP/CIDR = 지정 목록만 신뢰 (프록시가 여러 단이면 모든 단을 나열해야 합니다)
|
|
# * 은 앱이 프록시 없이는 도달 불가한 구성에서만 사용하세요 — docs/backend/reverse-proxy.md
|
|
# TRUSTED_PROXIES=*
|
|
|
|
# HTTPS 사이트에서 세션 쿠키에 Secure 속성을 강제합니다(미설정 시 요청 스킴으로 자동 판정).
|
|
# SESSION_SECURE_COOKIE=true
|
|
|
|
APP_LOCALE=ko
|
|
APP_FALLBACK_LOCALE=ko
|
|
APP_FAKER_LOCALE=ko_KR
|
|
|
|
APP_MAINTENANCE_DRIVER=file
|
|
# APP_MAINTENANCE_STORE=database
|
|
|
|
PHP_CLI_SERVER_WORKERS=4
|
|
|
|
BCRYPT_ROUNDS=12
|
|
|
|
LOG_CHANNEL=stack
|
|
LOG_STACK=single
|
|
LOG_DEPRECATIONS_CHANNEL=null
|
|
LOG_LEVEL=debug
|
|
|
|
DB_CONNECTION=mysql
|
|
|
|
# Write Database Connection (Primary)
|
|
DB_WRITE_HOST=127.0.0.1
|
|
DB_WRITE_PORT=3306
|
|
DB_WRITE_DATABASE=g7_testing
|
|
DB_WRITE_USERNAME=root
|
|
DB_WRITE_PASSWORD=
|
|
|
|
# Database Table Prefix (optional)
|
|
DB_PREFIX=g7_
|
|
|
|
# Read Database Connection (테스트에서는 WRITE와 동일하게 설정)
|
|
# 비워두면 config/database.php 가 WRITE 값으로 대체하나, 테스트 DB 명시를 위해 값을 채워 둔다.
|
|
DB_READ_HOST=127.0.0.1
|
|
DB_READ_PORT=3306
|
|
DB_READ_DATABASE=g7_testing
|
|
DB_READ_USERNAME=root
|
|
DB_READ_PASSWORD=
|
|
|
|
SESSION_DRIVER=database
|
|
SESSION_LIFETIME=120
|
|
SESSION_ENCRYPT=false
|
|
SESSION_PATH=/
|
|
SESSION_DOMAIN=null
|
|
SESSION_COOKIE=g7-session
|
|
|
|
BROADCAST_CONNECTION=log
|
|
FILESYSTEM_DISK=local
|
|
QUEUE_CONNECTION=database
|
|
|
|
CACHE_STORE=file
|
|
CACHE_PREFIX=g7-cache-
|
|
|
|
MEMCACHED_HOST=127.0.0.1
|
|
|
|
REDIS_CLIENT=phpredis
|
|
REDIS_HOST=127.0.0.1
|
|
REDIS_PASSWORD=null
|
|
REDIS_PREFIX=g7-database-
|
|
REDIS_PORT=6379
|
|
|
|
MAIL_MAILER=log
|
|
MAIL_SCHEME=null
|
|
MAIL_HOST=127.0.0.1
|
|
MAIL_PORT=2525
|
|
MAIL_USERNAME=null
|
|
MAIL_PASSWORD=null
|
|
MAIL_FROM_ADDRESS="hello@example.com"
|
|
MAIL_FROM_NAME="${APP_NAME}"
|
|
|
|
AWS_ACCESS_KEY_ID=
|
|
AWS_SECRET_ACCESS_KEY=
|
|
AWS_DEFAULT_REGION=us-east-1
|
|
AWS_BUCKET=
|
|
AWS_USE_PATH_STYLE_ENDPOINT=false
|
|
# 아래 3키는 사용할 때만 주석을 해제하세요 — 값 없는 `KEY=` 는 "미설정" 이 아니라
|
|
# 빈 문자열로 적용됩니다 (S3 공개 URL / S3 호환 엔드포인트 / 첨부 디스크 강제 지정)
|
|
# AWS_URL=
|
|
# AWS_ENDPOINT=
|
|
# ATTACHMENT_DISK=
|
|
|
|
VITE_APP_NAME="${APP_NAME}"
|
|
|
|
|
|
# Installer Admin Account (Used by AdminUserSeeder)
|
|
INSTALLER_ADMIN_NAME="관리자"
|
|
INSTALLER_ADMIN_EMAIL="admin@example.com"
|
|
INSTALLER_ADMIN_PASSWORD=
|
|
|
|
# Installation Status
|
|
INSTALLER_COMPLETED=true
|
|
|
|
# Telescope Configuration
|
|
TELESCOPE_ENABLED=false
|
|
TELESCOPE_DB_CONNECTION=mysql
|
|
|
|
# .env 키 단위 우선(G7_ENV_PRIORITY)은 테스트 환경에서 활성화하지 않습니다.
|
|
# 이 파일에 활성 라인을 두면 테스트가 개발 머신의 .env 명시 상태에 좌우되어
|
|
# 재현 불가능해집니다. 잠금 축은 config 를 직접 주입해 검증합니다.
|