PHP マニュアル
前のページ |  | 次のページ

# 第 9章実行時設定

# 設定ファイル

設定ファイル (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` 環境変数)

- `PHPRC` 環境変数。PHP 5.2.0 より前では、 これは、次に挙げるレジストリキーの後にチェックされていました。

- PHP 5.2.0 では、レジストリの以下の箇所を順に探します。 `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z\IniFilePath`、 `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y\IniFilePath` および `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x\IniFilePath`。 ここで x、y および z はそれぞれ PHP のメジャー、マイナー、 リリース番号を表します。

- `HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath` (Windows レジストリの場所)

- 現在の作業ディレクトリ (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` も有用でしょう。

例 9-1. `php.ini` の例

    ; 引用符をつけないセミコロン(;)の後のテキストは、すべて無視されます
    [php] ; セクションマーカ (角括弧の中のテキスト) は無視されます
    ; 論理値は、次のいずれかで指定します
    ;    true, on, yes
    ; または false, off, no, none
    register_globals = off
    magic_quotes_gpc = yes

    ; 文字列を二重引用符で括ることも可能です
    include_path = ".:/usr/local/lib/php"

    ; バックスラッシュは他の文字と同様に処理されます
    include_path = ".;c:\php\lib"

PHP 5.1.0 以降、ini ファイル内で既存の ini 変数を参照することが可能です。 例: `open_basedir = ${open_basedir} ":/new/dir"`.

前のページ | ホーム | 次のページ
バグ報告 | 上に戻る | 設定を変更するには