設定ファイル (PHP 3 では php3.ini、 PHP 4 以降では php.ini) は PHP の起動時に 読み込まれます。 PHP のサーバモジュール版では、Web サーバの起動時に 一度だけ読み込まれます。CGI 版と CLI 版では、スクリプトが呼び出される度に読み込まれます。
php.ini のデフォルトの場所は、コンパイル時のオプションにより決定されます (FAQ のエントリを参照。) しかし、CGI 版および CLI 版の場合、コマンドラインスイッチ -c により、読み込む設定ファイルを変更することができます。 コマンドラインからの PHP の使用 に関する章を参照してください。環境変数 PHPRC を使用して、 php.ini を探すパスを追加することもできます。 php.ini を探す場所は、次の場所 (順番に) です。
SAPI モジュール特有の場所 (Apache 2 における PHPIniDir ディレクティブ、 CGI/CLI 版における -c コマンドラインオプション、 NSAPI における php_ini パラメータ、 THTTPD における PHP_INI_PATH 環境変数)
HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath (Windows レジストリの場所)
PHPRC 環境変数
現在のワーキングディレクトリ (CLI 版の場合)
Web サーバのディレクトリ (SAPI モジュールの場合)、 もしくは PHP ディレクトリ (そうでない Windows の場合)
Windows ディレクトリ (C:\windows もしくは C:\winnt)) (Windows の場合) 、もしくはコンパイル時のオプション --with-config-file-path
php-SAPI.ini (ここで SAPI は使用する SAPI 名。 たとえば php-cli.ini や php-apache.ini) が存在する場合、 php.ini の代わりに使用されます。 SAPI 名は php_sapi_name() によって決定されます。
注意: Apache web サーバは、スタート時にディレクトリをルート に変更するので、ファイルシステムのルートに php.ini が存在する場合、PHP はそれを読もうとします。
拡張モジュールに対する php.ini ディレクティブは、 各拡張モジュールのドキュメントで解説されています。 コア ディレクティブ (PHP 本体に対するディレクティブ)のリストは付録にまとめられてます。 ただし、(更新の都合上)すべての PHP ディレクティブが 本マニュアル中で解説されている訳ではありません。 使っているバージョンの PHP で指定可能なすべてのディレクティブについては、 php.ini ファイル内に詳細なコメントが記されていますので、参照してください。 もしくは、CVS から入手可能な 最新の php.ini も有用でしょう。