PHP を Apache モジュールとして使用している場合、Apache 設定ファイル (例、httpd.conf) もしくは .htaccess ファイルにディレクティブを記述することで、PHP の設定の変更を行うことが 可能です。このようにして設定変更を行うには、"AllowOverride Options" もしくは "AllowOverride All" 権限が必要です。
Apache 設定ファイルから PHP の設定を変更するには、 PHP 4 および PHP 5 に対しては、以下に示す Apache ディレクティブを使用します。 各設定オプションの変更の可否 (PHP_INI_ALL, PHP_INI_PERDIR, または PHP_INI_SYSTEM) については、付録 php.ini ディレクティブのリスト を参照してください。
注意: PHP 3 においては、php3.ini の各設定オプションに 対応した Apache 用ディレクティブが存在します。それらのディレクティブ名は "php3_" から始まります。
name
value
指定した設定オプションに値を設定します。変更の可否が、 PHP_INI_ALL もしくは PHP_INI_PERDIR である設定オプションに対し利用できます。 セット済みの値をクリアしたい場合は、none を 値として使用してください。
注意: 論理値を設定する場合には php_value を使用しないでください。代わりに、php_flag (下記参照)を使用する必要があります。
name
on|off
設定オプションに論理値を設定するために使用します。変更の可否が、 PHP_INI_ALL もしくは PHP_INI_PERDIR である設定オプションで利用できます。
name
value
指定した設定オプションに値を設定します。このディレクティブは、.htaccess ファイルでは利用できません。また、 php_admin_value で設定された設定オプションの値は、.htaccess や VirtualHost ディレクティブ内から上書きできません。 セット済みの値をクリアしたい場合は、none を 値として使用してください。
name
on|off
設定オプションに論理値を設定するために使用します。 このディレクティブは、.htaccess ファイルでは利用できません。 php_admin_value で設定された設定オプションの値は、.htaccess や VirtualHost ディレクティブ内から上書きできません。
注意 |
PHP 定数は PHP 以外では使用できません。たとえば、 httpd.conf の中で error_reporting オプションを設定しようとして E_ALL や E_NOTICE のような PHP 定数を使用することは できません。これらは意味を有さないため、 0 と評価されてしまいます。 代わりに、対応するビットマスク値を使用してください。 php.ini の中では、これらの 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 な値は設定できません。