어제와 똑같이 살면서 다른 미래를 기대하지 말자

[Laravel] .env 개발모드, 서비스모드 본문

IT관심분야/Laravel

[Laravel] .env 개발모드, 서비스모드

플랜액터 2019. 12. 15. 17:38

Zend 프레임웍을 사용하여 개발을 하게되면 개발환경과 서비스환경을 다르게 설정하여 서로 다른 환경을 수정없이 동일한 코드로 이용이 가능하도록 할 수 있습니다.

 

라라벨에서도 .env 환경설정을 개발과 서비스환경에 따라 다르게 설정할 수 있습니다.

 

.env 서비스 환경 설정 (서비스 환경설정 - 기본)

APP_NAME=서비스명(production)
APP_ENV=production
APP_DEBUG=false
APP_URL=http://www.test.com

 

.env.development 개발 환경 설정

APP_NAME=서비스명(development)
APP_ENV=local
APP_DEBUG=true
APP_URL=http://dev.test.com

 

apache 가상호스트 설정에 SetEnv 추가

<VirtualHost *:80>
...
#    SetEnv APP_ENV "production"
    SetEnv APP_ENV "development"
...
</VirtualHost>

 

이제 개발환경(development)에서는 .env를 .env.development가 오버라이딩 후 설정을 가져오기 때문에 서비스 환경과 개발환경 변수값을 다르게 가져올 수 있습니다.

 

로컬 > 개발서버 > 실버서 와 같은 환경에서는 .env.local (로컬), .env.development (개발), .env (서비스)로 구분하여 사용하시면 됩니다.

 

참고로 php artisan config:cache 를 할경우 .env 파일에 대해 cache를 만들고 더이상 .env 설정파일을 로드하지 않기 때문에 위 설정에 따라 다르게 부르는 부분은 설정파일이 캐시되지 않은 환경에서 동작합니다.

설정파일의 설정이 안먹거나 .env.production이 오버라이딩되지 않는다면 php artisan config:clear 를 실행하시기 바랍니다.

'IT관심분야 > Laravel' 카테고리의 다른 글

[Laravel] gmail을 이용한 비밀번호 찾기 메일전송  (0) 2019.12.15
[Laravel] Hello World?  (0) 2018.10.08
Comments