PHP マニュアル
前のページ | 第 4章設定 | 次のページ

# 設定を変更するには

## Apacheモジュールとして`PHP`を実行する

PHP を Apache モジュールとして使用する場合、Apache用設定ファイルや .htaccess ファイルに命令を記述することによりPHPの設定を行うことが 可能です("AllowOverride Options" もしくは "AllowOverride All"権限 が必要)。

PHP 4.0 においては、PHP設定用の複数のApacheディレクティブがあり、 Apacheの設定ファイルでPHPの設定を変更可能です。どのディレクティブが、 `PHP_INI_ALL` か, `PHP_INI_PERDIR`, または `PHP_INI_SYSTEM` なのかについてのリストは、 ini_set() の説明を参照下さい。

> 注意: PHP 3.0 においては、`php3.ini`の各ディレクティ ブに対応した Apache 用ディレクティブが存在し、PHP 用のディレクティ ブの前に "php3_" を付けて使用することにより、設定の変更が可能です。

php_value `name` `value`

  指定した変数の値を設定します。`PHP_INI_ALL` と `PHP_INI_PERDIR` ディレクティブでのみ利用可能です。 以前にセットされた値をクリアしたい場合は、`none` を 値として使用してください。

  > 注意: ブーリアン値を設定するにあたり、`php_value` を 使わないようにしてください。代わりに、`php_flag` (下記を参照) を使ってください。

php_flag `name` `on|off`

  論理値のオプション設定を変更するために使用します。 `PHP_INI_PERDIR` ディレクティブでのみ利用可能です。

php_admin_value `name` `value`

  指定した変数の値を設定します。このディレクティブは、`.htaccess` ファイルでは利用できません。 php_admin_value で設定されたディレクティブの値は、`.htaccess` や バーチャルホストディレクティブ内から上書きできません。 以前にセットされた値をクリアしたい場合は、`none` を 値として使用してください。

php_admin_flag `name` `on|off`

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

例 4-2. Apache 設定の例

    <IfModule mod_php4.c>
      php_value include_path ".:/usr/local/lib/php"
      php_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` で使用することができます。

## Changing `PHP` configuration via the Windows registry

When running PHP on Windows, the configuration values can be modified on per-directory basis using the Windows registry. The configuration values are stored in the registry key `HKLM\SOFTWARE\PHP\Per Directory Values`, in the sub-keys corresponding to the path names. For example, configuration values for the directory `c:\inetpub\wwwroot` would be stored in the key `HKLM\SOFTWARE\PHP\Per Directory Values\c\inetpub\wwwroot`. The settings for the directory would be active for any script running from this directory or any subdirectory of it. The values under the key should have the name of PHP configuration directive and the string value. PHP constants in the values would not be parsed.

## `PHP`への別のインターフェイス

`PHP` へのインターフェイスによらず、 ini_set()によりスクリプトの実行時ある種の値を 変更することができます。以下の表にどのレベルのディレクティブを設 定/変更できるかの概要を示します。

表 4-1. PHP_INI_* 定数の定義

定数 | 値 | 意味
--- | --- | ---
PHP_INI_USER | 1 | ユーザスクリプトで設定できるエントリ
PHP_INI_PERDIR | 2 | `php.ini`, `.htaccess` および `httpd.conf` で設定できるエントリ
PHP_INI_SYSTEM | 4 | `php.ini` または `httpd.conf` で設定できるエントリ
PHP_INI_ALL | 7 | どこでも設定できるエントリ

phpinfo()の出力で設定値を参照することができま す。また、ini_get() または get_cfg_var()により個々の設定値にアクセスする ことも可能です。

前のページ | ホーム | 次のページ
設定 | 上に戻る | 設定ディレクティブ