PHP を Apache モジュールとして使用する場合、Apache用設定ファイルや .htaccess ファイルに命令を記述することによりPHPの設定を行うことが 可能です("AllowOverride Options" もしくは "AllowOverride All"権限 が必要)。
PHP 3.0 においては、php3.iniの各ディレクティ ブに対応した Apache 用ディレクティブが存在し、PHP 用のディレクティ ブの前に "php3_" を付けて使用することにより、設定の変更が可能です。
PHP 4.0 においては、PHP設定用の複数のApacheディレクティブがあり、 Apacheの設定ファイルでPHPの設定を変更可能です。
指令した変数の値を設定します。
論理値のオプション設定を変更するために使用します。
指定した変数の値を設定します。"Admin" は、メインの Apache 用設 定ファイルにおいてのみ設定可能で、.htaccess ファイルからは設定 できません。
論理値のオプションを設定するために使用されます。 (Adminの意味は上記のオプションと同じです。)
注意 PHP定数はPHP以外では使用できません。例えば、 httpd.confの中で error_reporting ディ レクティブを設定するために E_ALL または E_NOTICE のようなPHP定数を使用する ことはできません。これらは意味を有さないため、 0 と評価されてしまいます。 代わりに対応するビットマスクを使用して下さい。これらの定数は、 php.ini で使用することができます。
PHP へのインターフェイスによらず、 ini_set()によりスクリプトの実行時ある種の値を 変更することができます。以下の表にどのレベルのディレクティブを設 定/変更できるかの概要を示します。
表 4-1PHP_INI_* 定数の定義
定数 | 値 | 意味 |
---|---|---|
PHP_INI_USER | 1 | ユーザスクリプトで設定できるエントリ。 |
PHP_INI_PERDIR | 2 | .htaccess およびhttpd.confのVHostディレ クティブで設定できるエントリ。 |
PHP_INI_SYSTEM | 4 | php.ini または httpd.conf (しかし、 httpd.confのVHostブロックでは不可) で設定できるエントリ。 |
PHP_INI_ALL | 7 | どこでも設定できるエントリ |
phpinfo()の出力で設定値を参照することができま す。また、ini_get() または get_cfg_var()により個々の設定値にアクセスする ことも可能です。