PHPは、実行する全てのスクリプトに定義済みの多くの変数を 提供します。しかし、これらの変数の多くは、 実行するサーバーの種類、サーバーのバージョンおよび設定、 その他の要素に依存しており、完全に記述することはできません。 これらの変数のいくつかはPHPをコマンドラインで実行した場合には 利用できません。
これらの要因はあるものの、Apache 1.3.6のデフォルトインストールを 行い、PHP3をモジュールとしてデフォルトインストールを行った状態で 定義済みの変数のリストを以下に示します。
全ての定義済み変数のリスト(そして他の多くの有益な情報)については、 phpinfoを参照(および使用)ください。
注意: このリストは、網羅的なものでも網羅的にしようとするものでもありません。 どんな定義済みの変数に自分のスクリプトからアクセス可能と期待できる のかに関するガイドラインであるに過ぎません。
これらの変数は、Apache Webサーバーにより 作成されるものです。他のWebサーバーを実行している場合には、 同じ変数が提供される保証はありません。いくつかの変数が 省略されたり、このリストにない別の変数が提供されている 可能性があります。 このリストにある変数の多くは、 CGI 1.1 の規約に 記述されており、他のWebサーバーでも利用可能であると期待することができます。
数は少ないですが、これらの変数のいくつかはPHPをコマンドラインで実行している時のみ 利用可能(または意味がある)であるということに注意して下さい。
サーバーが使用するCGI 規約のリビジョン。例えば、'CGI/1.1'。
現在のスクリプトが実行されているサーバーホストの名前。 スクリプトが仮想ホストで実行されている場合、その仮想ホストに関して 定義された値となります。
サーバーのIDを表す文字列。リクエストに応答する際に、ヘッダに表示されます。
リクエストされたページを送信する際のプロトコルの名前及びリビジョン。 例えば、'HTTP/1.0'。
ページにアクセスする際に使用されるリクエストメソッドの種類。 例えば、'HEAD', 'POST', 'PUT'。
クエリー文字列。または、ページがアクセスされたパス。
現在のスクリプトが実行されているサーバーのドキュメントルートディレクトリ。 サーバーの設定ファイルで定義されています。
現在のリクエストにおけるAccept:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。
現在のリクエストにおけるAccept-Charset:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。例えば、 'iso-8859-1,*,utf-8'。
現在のリクエストにおけるAccept-Encoding:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。例えば、'gzip'。
現在のリクエストにおけるAccept-Language:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。例えば、'en'。
現在のリクエストにおけるConnection:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。例えば、'Keep-Alive'。
現在のリクエストにおけるHost:ヘッダーの内容。 ただし、該当するヘッダーがある場合のみ定義されます。
ブラウザから現在のページを参照する際のページアドレス。 この変数は、ユーザーのブラウザにより設定されます。全てのブラウザが この変数を設定するわけではありません。
現在のリクエストにおいてUser_Agent:ヘッダーが 定義されている場合にはその内容。 これは、現在のページを見るために使用されているブラウザソフトウエアを示す 文字列です。例えば、 Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586) となります。 特に、ページの機能をユーザーのブラウザの能力に合わせるために get_browserにこの値を指定することも可能です。
現在のページを見ているユーザーのIPアドレス。
Webサーバーと通信するユーザーのマシンで使用されているポート。
現在実行中のスクリプトの絶対パス。
(Apacheの場合、)Webサーバーの設定ファイルでSERVER_ADMIN ディレクティブに指定された値。 スクリプトが仮想ホストで実行されている場合、その仮想ホストに関して 値が定義されます。
Webサーバーで使用されているサーバーマシンの通信用ポート。 デフォルトの設定では、'80'となります。 例えば、SSLを使用している場合、セキュアHTTPポートの番号により この値は変化します。
サーバーのバージョンおよび仮想ホスト名を含む文字列。 この文字列は、サーバーが生成したページに追加されます。ただし、 これが行われるのは、この機能を有効にした場合です。
サーバーが仮想的なパスを実際のパスへ変換した後で、 現在のスクリプトの(ドキュメントルートではなく)ファイルシステムに 基づくパス。
現在のスクリプトのパスを有します。自分自身を指す必要があるページ では便利です。
このページにアクセスするために指定されたURI。 例えば、'/index.html'。
これらの変数は、PHPパーサが実行されている環境から PHP のグローバル変数領域にインポートされます。 その多くは、PHPを実行したシェルにより提供されたものであり、 システムが異なると恐らくシェルの種類も異なるので、固定したリストを 示すことはできません。定義済みの環境変数のリストについては、 使用するシェルのドキュメントを参照下さい。
CGI変数を含む他の環境変数は、PHPがサーバーモジュールとして実行 されているのか、CGIプロセッサとして実行されているのかに よらず設定されます。
これらの変数は、PHP自体により作成されます。
スクリプトに渡される引数の配列。 スクリプトがコマンドラインで実行された場合、これにより、 C言語の形式でコマンドラインのパラメータにアクセスすることができます。 GETメソッドでコールされた場合、この配列にはクエリー文字列が含まれます。
スクリプトに渡されたコマンドラインパラメータの数を有しています。 (コマンドラインで実行された場合)
現在実行しているスクリプトのドキュメントルートに相対パスで表したファイル名。 PHPがコマンドラインプロセッサとして実行されている場合、 この変数は利用できません。
HTTPクッキーにより現在のスクリプトに渡された変数を有する連想配列。 設定ディレクティブ track_vars または <?php_track_vars?> ディレクティブのどちらかにより変数の追跡機能が有効の場合のみ利用可能です。
HTTP GETメソッドにより現在のスクリプトに渡された変数を有する連想配列。 設定ディレクティブ track_vars または <?php_track_vars?> ディレクティブのどちらかにより変数の追跡機能が有効の場合のみ利用可能です。
HTTP POSTメソッドにより現在のスクリプトに渡された変数を有する連想配列。 設定ディレクティブ track_vars または <?php_track_vars?> ディレクティブのどちらかにより変数の追跡機能が有効の場合のみ利用可能です。