PHP


게시글 'php.ini 일반적인 구성'에 대한 정보
php.ini 일반적인 구성
등록일 2009-12-19 조회 3,690
PHP 의 일부 일반 기능 및 내장된 기능들에 영향을 미치는 몇 가지 구성 매게변수들에 대하여 알아보기로 하겠습니다.

■ auto_append_file String

메인 파일 다음에 자동으로 분석되는 파일 이름을 String 에 지정한다.
이렇게 지정된 파일은 include() 함수로 호출된 것 처럼 포함된다.
특수값인 none 은 자동 추가 기능을 중지 시킨다.
만약 스크립트가 exit() 로 종료된다면 auto-append 작업이 수행되지 않는다.
이 명령어는 특정 웹 사이트에 정형화된 모습과 느낌을 주고자 PHP가 페이지를 생성할 때 유용하다.
이 스크립트는 각 페이지마다 꼬리말을 포함할 때 사용할 수 있다.

auto_append_file = "/path/to/script/footer.php"

■ auto_prepend_file String

메인 파일보다 먼저 자동으로 분석되는 파일 이름을 String 에 지정한다.
이렇게 지정된 파일은 include() 함수로 호출된 것 처럼 포함된다.
특수값인 none 은 auto-prepend 기능을 중지 시킨다.

이 명령어는 앞서의 스크립트에서처럼 동일한 종류의 시나리오에서 유용하다.
단지, 차이점이라면 모든 페이지에 표준 머리말을 생성하는 데 사용할 수있다는 점이다.

■ doc_root String

가상 파일 트리의 루트를 정의하며,
그 루트의 하위에 있는 파일들은 안전 모드에서 실행될때 PHP에 의해서만 서비스된다.
이 매개변수는 빈 값이 아닌 값을 가져야 하며, 그렇지 않은 경우에는 무시된다.

웹 서버의 실제 파일 시스템 트리의 특정한 하위 트리로 PHP를 제한하는 것은 보안상의 관점에서 본다면 매우 차이점이 많다.

■ engine Boolean

PHP가 아파치 모듈 버전인 경우에만 실제로 유용한 명령어이다.

디렉토리 단위로 또는 가상 서버 기반 단위로 PHP Paser 기능을 켜고 끄는 사이트에서 사용된다.
httpd.conf 파일의 적당한 위치에서 engine 를 On, Off 로 설정하면 PHP는 가능하게 되거나 불가능 하게 된다.

httpd.conf


위와 같은 형식으로 사용할 수 있다.

■ open_basedir String

PHP 스크립트들이 특정한 디렉토리 트리나 디렉토리 트리 세트에 있는 파일들로만 엑세스 하도록 제한하기를 원하는 경우가 있을 것이다.
인수 String 은 엑세스를 허용하는 디렉토리나 디렉토리들의 리스트를 지정한다.
모든 상징적인 링크들이 사라지므로 이러한 제한 사항을 피하기 위해 symlink를 사용하는 것이 불가능하다.

특수값 '.' 은 스크립트가 저장되어 있는 디렉토리가 기본 디렉토리로 사용될 것이라는 의미한다.
Windows 의 경우에 String 에 여러개의 디렉토리들을 입력할때에는 각각의 디렉토리들을 콜론( : )으로 구분한다.
아파치 모듈인 경우, 상위 디렉토리들로부터의 open_basedir 경로는 이제 자동적으로 상속된다.
기본은 모든 파일들이 열리는 것을 허용하는 것이다.

■ gpc_order String

HTML 서식을 처리하는 PHP 스크립트들은 이러한 서식으로부터 변수들을 엑세스할 수 있다.
서식들은 GET, POST 메소드에 의해 제출될 것이다.
또한, 쿠키들도 변수들을 스크립트로 전달한다.
GET, POST 그리고 쿠키들로부터변수들이 분석되는 순서는 hpc_order 명령에 의해 주어진다.
인수 String 은 G, P 그리고 C 중에서 하나나 둘, 또는 셋 모두의 조합으로 이루어진다.

예를 들어, 만약 gpc_order = GCP 라면 COOKIE 변수와 동일한 이름의 POST 변수는 COOKIE 변수로서 더높은 우선순위를 가지게 되며, POST 변수는 무시된다.
이러한 순서는 GET,POST,COOKIE 변수 분석의 순서를 결정한다.

이 명령의 기본 설정값은 "GPC" 이다.

예를 들어, "GP" 로 설정되는 경우에 PHP는 쿠키들을 완전히 무시하고 어떤 GET 메소드 변수들을 동일한 이름의 POST 메소드 변수들을 동일한 이름의 POST 메소드 변수들로 겹쳐쓰기할 것 이다.

■ include_path String

require(), include(), fopen_with_path() 함수들이 파일들을 찾는 디렉토리들의 리스트를 지정한다.
대부분의 시스템에서 String 의 형식은 PATH 환경 변수와 유사하다.

즉, UNIX에서는 콜론( : )으로, Windows 에서는 세미콜론( ; )으로 디렉토리들을 구분한다.

기본값은 현재 디렉토리를 의미하는 '.' 이다.

UNIX: "/path1:/path2"
include_path = ".:/php/includes"

Windows: "path1;path2"
include_path = ".;c:phpincludes"

■ max_execution_time Integer

파서에 의해 종료되기 전, 스크립트의 작업 허용 최대 시간을 초 단위로 설정한다.
이것은 무한 루프를 돌고 있는 스크립트들에 의해 서버가 다운되는 것을 방지한다.

■ memory_limit Integer

Integer 인수는 스크립트가 할당할 수 있는 메모리의 최대 용량을 바이트 단위로 설정한다.
이것은 잘못 작성된 스키립트가 서버의 메모리를 모두 잠식하는 것을 방지한다.

■ short_open_tag Boolean

PHP 스크립트들은 원래 <?php 와 ?> 태그 사이에 들어가지만, 단축 형식인 <? 와 ?> 태그 사이에 입력할 수도 있다.

만약 XML 지원기능을 사용한다면 이 옵션을 Off 로 설정해야 한다.
단축 태그가 XML 파서를 혼동하게 만드므로 XML 지원 기능을 사용하려면 원래의 형식으로만 스크립트를 사용해야 한다.

■ upload_tmp_dir String

인수 String 은 파일 업로드가 수행될 때 파일들을 저장하는 데 사용되는 임시디렉토리를 지정한다.
이 디렉토리는 사용자 PHP가 어떤 형식으로 수행되든지 간에 기록 가능해야 한다.
PHP 가 아파치 모듈인경우 아파치의 사용자 권한을 상속하며, 일반적으로 nobody 이다.

■ user_dir String

웹 서버는 일반적으로 각 사용자들이 자신의 홈 디렉토리들 아래에 자신의 웹 페이지들을 유지하는 것을 허용한다. (UNIX인 경우)
인수 String 은 PHP파일들을 위한 사용자의 홈 디렉토리에서 사용되는 디렉토리의 기본이름을 나타낸다.

예를 들어, 홈 디렉토리가 /home/okstart 인 사용자 okstart 가 있다고 가정하자.
만약 String 이 public_html 로 설정되었다면 그 사용자는 개인적인 스크립트들이나 페이지들을 /home/okstart/public_html 아래에 저장할 수있다.