PHP를 아파치 모듈로 사용할 때, 아파치 설정 파일(즉 httpd.conf)과 .htaccess 파일에서 설정을 변경할 수 있습니다. 이를 위해서는 "AllowOverride Options"나 "AllowOverride All" 권한이 필요합니다.
몇몇 아파치 지시어는 PHP 설정을 아파치 설정 파일에서 바꿀 수 있게 합니다. 어떤 지시어가 PHP_INI_ALL, PHP_INI_PERDIR, PHP_INI_SYSTEM인지는, php.ini 지시어 목록 부록을 참고하십시오.
php_value
name
value
지정한 지시어의 값을 설정합니다. PHP_INI_ALL과 PHP_INI_PERDIR 형식 지시어에만 사용할 수 있습니다. 이전 설정 값을 지우려면 값에 none을 사용합니다.
Note:
php_value
로 논리 값을 설정하지 마십시오. 대신php_flag
(아래 참고)를 사용해야 합니다.
php_flag
name
on|off
논리값 지시어를 설정합니다. PHP_INI_ALL과 PHP_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로 덮어쓸 수 없습니다.
Example #1 아파치 설정 예제
<IfModule mod_php5.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag safe_mode on </IfModule> <IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_admin_flag safe_mode on </IfModule>
PHP 상수는 PHP 밖에 존재하지 않습니다. 예를 들어, httpd.conf에서 E_ALL나 E_NOTICE 등의 PHP 상수를 사용할 수 없습니다. error_reporting 지시어에 이런 설정을 하면, 아무런 의미를 가지지 않고 0으로 평가됩니다. 대신 할당된 비트마스크 값을 사용하십시오. 이런 상수는 php.ini에서는 사용할 수 있습니다.
PHP를 윈도우에서 실행할 때, 설정값은 윈도우 레지스트리를 사용하여 디렉토리 기반으로 변경할 수 있습니다. 설정값은 레지스트리 키 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를 어떻게 실행하는가에 관계 없이, ini_set()으로 몇몇 값을 실행시에 변경할 수 있습니다. 자세한 정보는 ini_set() 페이지 문서를 참고하십시오.
시스템의 모든 설정 목록과 현재 값을 얻고 싶다면, phpinfo()를 실행하여 결과 페이지를 살펴보십시오. 각 설정 지시어의 값은 실행시에 ini_get()이나 get_cfg_var()를 사용하여 접근할 수 있습니다.