다양한 환경관리 Handling Multiple Environments

개발자는 응용 프로그램 개발 환경 또는 프로덕션 환경에 따라 시스템이 다르게 동작하기를 원합니다. 예를 들어, 자세한 오류 출력은 개발중일때는 유용하지만, 실제 서비스에서는 보안 문제를 일으킬 수 있습니다.

환경설정 상수 The ENVIRONMENT Constant

기본적으로 CodeIgniter는 제공되는 $_SERVER['CI_ENV'] 의 값을 사용하며, 그렇지 않으면 ‘ development ’로 설정되어 있습니다. index.php 맨 위에 다음과 같이 지정되어 있습니다:

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

이 서버 상수는 당신의 .htaccess 파일에 정의될 수 있습니다. 또는 아파치 설정 SetEnv 을 사용합니다. 다른 방법으로는 nginx 나 다른 서버로 가능합니다. 아니면 이 로직을 완전히 삭제할 수 있습니다. 그리고 서버의 아이피 주소에 기반한 상수를 설정할 수 있습니다.

프레임 워크의 기본동작에 미치는 영향(아래섹션보시오) 이외에, 개발환경별 동작방식을 바꾸기위해 이 상수를 사용할 수 있습니다.

프레임 워크의 기본동작에 미치는 영향 Effects On Default Framework Behavior

CodeIgniter 시스템의 여러 장소에서 ENVIRONMENT 상수가 사용됩니다. 이 섹션에서는 기본 프레임 워크의 동작이 어떻게 영향을 받는지 설명합니다.

에러 보고 Error Reporting

ENVIRONMENT상수를 ‘development’로 설정하면 모든 PHP 오류가 발생할 때 브라우저에 표시됩니다. 반대로 ‘production’ 으로 설정하면 오류를 표시하지 않습니다. 프로덕션 환경에서 오류를 표시하지 않는 것은 좋은 보안 관례 입니다.

설정 파일 Configuration Files

필요하다면, CodeIgniter 가 특정 환경설정파일을 로드하도록 할 수 있습니다. 이것은 환경에 따라 다른 API 키를 사용 같은 경우 유용합니다. 자세한 내용은 설정 클래스 의 여러 환경 섹션:doc:`Config Class <../libraries/config#environments>`_에 설명되어 있습니다.