구성 설정을 변경하는 방법

PHP를 Apache 모듈로 실행하기

PHP를 Apache 모듈로 사용할 때 Apache 구성 파일(예: httpd.conf) 및 .htaccess 파일의 지시문을 사용하여 구성 설정을 변경할 수도 있습니다. 그렇게 하려면 "AllowOverride Options" 또는 "AllowOverride All" 권한이 필요합니다.

Apache 구성 파일 내에서 PHP 구성을 변경할 수 있는 여러 Apache 지시문이 있습니다. 어떤 지시문이 PHP_INI_ALL, PHP_INI_PERDIR 또는 PHP_INI_SYSTEM인지 목록을 보려면 php.ini 지시문 목록 부록을 보십시오.

php_value name value
지정된 지시문의 값을 설정합니다. PHP_INI_ALLPHP_INI_PERDIR 유형 지시문에만 사용할 수 있습니다. 이전에 설정한 값을 지우려면 값으로 none을 사용합니다.

참고: 부울 값을 설정하기 위해 php_value를 사용하지 마십시오. 대신 php_flag(아래 참조)를 사용해야 합니다.

php_flag name on|off
부울 구성 지시문을 설정하는 데 사용됩니다. PHP_INI_ALLPHP_INI_PERDIR 유형 지시문에만 사용할 수 있습니다.
php_admin_value name value
지정된 지시문의 값을 설정합니다. .htaccess 파일에서는 사용할 수 없습니다. php_admin_value로 설정된 모든 지시문 유형은 .htaccess 또는 ini_set()에 의해 재정의될 수 없습니다. 이전에 설정한 값을 지우려면 값으로 none을 사용합니다.
php_admin_flag name on|off
부울 구성 지시문을 설정하는 데 사용됩니다. .htaccess 파일에서는 사용할 수 없습니다. php_admin_flag로 설정된 모든 지시문 유형은 .htaccess 또는 ini_set()에 의해 재정의될 수 없습니다.

예 #1 Apache 구성 예

<IfModule mod_php5.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
<IfModule mod_php4.c>
  php_value include_path ".:/usr/local/lib/php"
  php_admin_flag engine on
</IfModule>
                

주의 PHP 상수는 PHP 외부에 존재하지 않습니다. 예를 들어 httpd.conf에서 E_ALL 또는 E_NOTICE와 같은 PHP 상수를 사용하여 error_reporting 지시문을 설정할 수 없습니다. 의미가 없고 0으로 평가되기 때문입니다. 대신 관련 비트마스크 값을 사용하십시오. 이 상수는 php.ini에서 사용할 수 있습니다.

Windows 레지스트리를 통해 PHP 구성 변경

Windows에서 PHP를 실행할 때 Windows 레지스트리를 사용하여 디렉토리별로 구성 값을 수정할 수 있습니다. 구성 값은 경로 이름에 해당하는 하위 키의 HKLM\SOFTWARE\PHP\Per Directory Values ​​레지스트리 키에 저장됩니다. 예를 들어, c:\inetpub\wwwroot 디렉토리의 구성 값은 HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot 키에 저장됩니다. 디렉토리에 대한 설정은 이 디렉토리 또는 그 하위 디렉토리에서 실행되는 모든 스크립트에 대해 활성화됩니다. 키 아래의 값에는 PHP 구성 지시문 이름과 문자열 값이 있어야 합니다. 값의 PHP 상수는 구문 분석되지 않습니다. 그러나 PHP_INI_USER에서 변경할 수 있는 구성 값만 이 방법으로 설정할 수 있으며 PHP_INI_PERDIR 값은 이러한 구성 값을 각 요청에 대해 다시 읽기 때문에 설정할 수 없습니다.

PHP에 대한 기타 인터페이스

PHP를 실행하는 방법에 관계없이 ini_set()을 통해 스크립트 실행 시간에 특정 값을 변경할 수 있습니다. 자세한 내용은 ini_set() 페이지의 설명서를 참조하십시오.

현재 값과 함께 시스템의 구성 설정 전체 목록에 관심이 있는 경우 phpinfo() 함수를 실행하고 결과 페이지를 검토할 수 있습니다. ini_get() 또는 get_cfg_var()를 사용하여 런타임에 개별 구성 지시문의 값에 액세스할 수도 있습니다.