PHP マニュアル
前のページ | 第 9章実行時設定 | 次のページ

# 設定を変更するには

## Apache モジュールとして PHP を実行している場合

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_" から始まります。

php_value `name` `value`

  指定した設定オプションに値を設定します。変更の可否が、 `PHP_INI_ALL` もしくは `PHP_INI_PERDIR` である設定オプションに対し利用できます。 セット済みの値をクリアしたい場合は、`none` を 値として使用してください。

  > 注意: 論理値を設定する場合には 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` や VirtualHost ディレクティブ内から上書きできません。 セット済みの値をクリアしたい場合は、`none` を 値として使用してください。

php_admin_flag `name` `on|off`

  設定オプションに論理値を設定するために使用します。 このディレクティブは、`.htaccess` ファイルでは利用できません。 php_admin_value で設定された設定オプションの値は、`.htaccess` や VirtualHost ディレクティブ内から上書きできません。

例 9-2. Apache 設定の例

    <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>
    <IfModule mod_php3.c>
      php3_include_path ".:/usr/local/lib/php"
      php3_safe_mode on
    </IfModule>

注意
PHP 定数は PHP 以外では使用できません。たとえば、 `httpd.conf` の中で error_reporting オプションを設定しようとして `E_ALL` や `E_NOTICE` のような PHP 定数を使用することは できません。これらは意味を有さないため、 0 と評価されてしまいます。 代わりに、対応するビットマスク値を使用してください。 `php.ini` の中では、これらの PHP 定数を使用することができます。

## 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 を実行しているかに係わらず、ini_set() 関数を 用いて、スクリプトの実行時に一部のオプションの設定値を変更することができます。詳細は、 ini_set() 関数のリファレンスを参照してください。

使用しているシステムにおける現在のオプション設定値の完全なリストを得たい場合は、 phpinfo() 関数を実行し、出力された結果を参照してください。 また、ini_get() 関数または get_cfg_var() 関数を用いて、個々のオプションの設定値にアクセスすることも可能です。

前のページ | ホーム | 次のページ
実行時設定 | 上に戻る | 言語リファレンス