[PHP]ディレクティブのモードの種類

Read More

PHPにはディレクティブと呼ばれる指示文を、
php.ini、httpd.conf、.htaccess、ini_set()などで記述することができる。

ディレクティブとは、指定された値をphpの設定としてセットできるもの、と考えて良い。

例えば.htaccessなどに記述する、
php_value mbstring.language "Japanese"

も設定ディレクティブと言うことができる。


そのディレクティブに対して一つ一つ変更の可否を示すモードが設定されている。
ここで言うモードとは"実行権限"のようなものだと思えば良い。


以下のようなモードが存在する
PHP_INI_USER
ユーザスクリプト (ini_set() などで) または Windows レジストリ で設定可能なエントリ

PHP_INI_PERDIR
php.ini、.htaccess または httpd.conf で設定可能なエントリ

PHP_INI_SYSTEM
php.ini または httpd.confで設定可能なエントリ

PHP_INI_ALL
どこでも設定可能なエントリ
† PHP:どこで設定を行うのか より引用
http://php.net/manual/ja/configuration.changes.modes.php


実行権限のないファイルで定義された設定ディレクティブは有効にはならない。
この為、php.iniでしか使えないものやhttpd.confでしか使えないものなどがある。




はー、なるほど。
今まで専用サーバばかり使ってたからモードなんて余り気にしたことなかった。

ディレクティブもPHPのVerによって変更可否のモードが違うみたいだからそこは気をつけないといけん。