여러 환경 처리¶
개발자들은 종종 애플리케이션이 개발 환경이나 프로덕션 환경에서 실행되는지에 따라 다른 시스템 동작을 원합니다. 예를 들어 상세한 에러 출력은 애플리케이션을 개발하는 동안 유용하지만 “라이브” 상태일 때는 보안 문제가 될 수도 있습니다.
ENVIRONMENT 상수¶
기본적으로 CodeIgniter는 $_SERVER['CI_ENV']에 제공된 값을 사용하도록 환경 상수가
설정되어 있으며, 그렇지 않으면 ‘development’로 기본 설정됩니다. index.php의 상단에서
다음을 볼 수 있습니다:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
이 서버 변수는 .htaccess 파일이나 SetEnv를 사용하는 Apache config에서 설정할 수 있습니다. nginx 및 다른 서버에서도 대안적인 방법을 사용할 수 있으며, 이 로직을 완전히 제거하고 서버의 IP 주소를 기반으로 상수를 설정할 수도 있습니다.
일부 기본 프레임워크 동작에 영향을 주는 것 외에도(다음 섹션 참조) 이 상수를 자체 개발에서 실행 중인 환경을 구분하는 데 사용할 수 있습니다.
기본 프레임워크 동작에 미치는 영향¶
CodeIgniter 시스템에는 ENVIRONMENT 상수가 사용되는 몇 가지 위치가 있습니다. 이 섹션에서는 기본 프레임워크 동작이 어떻게 영향을 받는지 설명합니다.
에러 보고¶
ENVIRONMENT 상수를 ‘development’ 값으로 설정하면 모든 PHP 에러가 발생할 때 브라우저에 렌더링됩니다. 반대로 상수를 ‘production’으로 설정하면 모든 에러 출력이 비활성화됩니다. 프로덕션에서 에러 보고를 비활성화하는 것은 좋은 보안 관행입니다.
설정 파일¶
선택적으로 CodeIgniter가 환경별 설정 파일을 로드하도록 할 수 있습니다. 이는 여러 환경에 걸쳐 다양한 API 키와 같은 것을 관리하는 데 유용할 수 있습니다. 이것은 Config 클래스 문서의 환경 섹션에서 더 자세히 설명됩니다.