Apache 서버 .htaccess 활용(php value,php flag - PHP설정값 변경)
15년 전
PHP 5.3.*대에서는 그다지 의미가 없습니다만, 그래도 진행해 보도록 하겠습니다.
phpinfo 정보를 보시면 Local Value와 Master Value로 나누어지는데, 요건 Master 값과 다르게 설정할수 있다는 것입니다.
설정변경을 위해서는 총 3가지의 제한 사항이 있습니다.
첫째, 서버설정에서 AllowOverride Options 이 설정되어 있어야 합니다.
둘째, .htaccess에서 설정가능한 설정값이어야 합니다.
셋째, .htaccess에서 설정가능한 값이라 할지라도 서버단에서 강제설정되었거나, php_admin_value 지시어에 의해 설정된 설정값은 변경이 불가능합니다.
PHP_INI_USER -> 사용자 스크립트 혹은 Windows registry에서 변경 가능함을 나타냅니다.
PHP_INI_PERDIR -> php.ini, .htaccess 혹은 httpd.conf에서 변경 가능함을 나타냅니다.
PHP_INI_SYSTEM -> php.ini, httpd.conf 에서 변경 가능함을 나타냅니다.
PHP_INI_ALL -> 가능함을 나타냅니다.
기본 사용방법은 아래와 같습니다.
php_value name value
php_flag name on|off
설정값이 on, off(boolean values)라면 php_flag를 사용하시면 됩니다.
예제로 2가지 정도만 해 보겠습니다.
원하는 디렉토리에 php 처리가 되지 않도록 하고 싶다면,
원하는 디렉토리에 .htaccess 파일을 생성해서
php_flag engine off
를 넣어주시면 됩니다. 보안상 많이 사용을 하지요.
물론 Directory 지시어가 허용이 된다면 상단에서 Directory지시어를 이용해서 바로 하단 원하는 디렉토리를 선택해서 설정할수 있습니다.
만일 PHP세션네임을 변경하고 싶다면 .htaccess 파일에
php_value session.name TEST
라고 하시면 세션이름이 TEST로 변경됩니다.