$_SERVER は、ヘッダー、パス、スクリプトの場所などの情報を含む配列です。この配列内の項目は Web サーバーによって作成されます。すべてのサーバーがすべてのアイテムを提供するという保証はありません。サーバーは一部のアイテムを無視したり、ここにリストされていないアイテムを提供したりする可能性があります。
次の表に、すべての $_SERVER 変数の重要な要素を示します。
$_SERVER['PHP_SELF'] | ドキュメント ルートに関連する、現在実行中のスクリプトのファイル名。 |
$_SERVER['GATEWAY_INTERFACE'] | サーバーによって使用される CGI 仕様のバージョン。 |
$_SERVER['SERVER_ADDR'] | スクリプトが現在実行されているサーバーの IP アドレス。 |
$_SERVER['SERVER_NAME'] | スクリプトが現在実行されているサーバーのホスト名。スクリプトが仮想ホスト上で実行されている場合、名前はその仮想ホストに設定された値によって決まります。 |
$_SERVER['SERVER_SOFTWARE'] | リクエストに応答するときにヘッダー情報で指定されるサーバー識別文字列。 |
$_SERVER['SERVER_PROTOCOL'] | ページをリクエストするときの通信プロトコルの名前とバージョン。 |
$_SERVER['REQUEST_METHOD'] | ページへのアクセスに使用されるリクエスト メソッド。 |
$_SERVER['REQUEST_TIME'] | リクエストが開始されたときのタイムスタンプ。 PHP 5.1.0 以降で利用可能です。 |
$_SERVER['QUERY_STRING'] | クエリ文字列 (クエリ文字列) (存在する場合)。ページ アクセスが実行されます。 |
$_SERVER['HTTP_ACCEPT'] | 現在のリクエスト ヘッダー内の Accept: 項目の内容 (存在する場合)。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 現在のリクエスト ヘッダー内の Accept-Charset: 項目の内容 (存在する場合)。 |
$_SERVER['HTTP_HOST'] | 現在のリクエスト ヘッダー内の Host: 項目の内容 (存在する場合)。 |
$_SERVER['HTTP_REFERER'] | 現在のページの前のページのアドレス (存在する場合) にユーザー エージェントを誘導します。ユーザーエージェント設定によって決定されます。すべてのユーザーエージェントがこの項目を設定するわけではなく、一部のユーザーエージェントは HTTP_REFERER を変更する機能も提供します。要するに、その値は信頼できません。 ) |
$_SERVER['HTTPS'] | スクリプトが HTTPS プロトコル経由でアクセスされる場合は、空ではない値に設定します。 |
$_SERVER['REMOTE_ADDR'] | 現在のページを閲覧しているユーザーの IP アドレス。 |
$_SERVER['REMOTE_HOST'] | 現在のページを閲覧しているユーザーのホスト名。 DNS 逆引き解決は、ユーザーの REMOTE_ADDR には依存しません。 |
$_SERVER['REMOTE_PORT'] | ユーザーのマシン上の Web サーバーに接続するために使用されるポート番号。 |
$_SERVER['SCRIPT_FILENAME'] | 現在実行中のスクリプトの絶対パス。 |
$_SERVER['SERVER_ADMIN'] | この値は、Apache サーバー設定ファイルの SERVER_ADMIN パラメータを指定します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値になります。 |
$_SERVER['SERVER_PORT'] | Web サーバーによって使用されるポート。デフォルト値は「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。 |
$_SERVER['SERVER_SIGNATURE'] | サーバーのバージョンと仮想ホスト名を含む文字列。 |
$_SERVER['PATH_TRANSLATED'] | 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。 |
$_SERVER['SCRIPT_NAME'] | 現在のスクリプトへのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。 __FILE__ 定数には、現在のスクリプト (インクルード ファイルなど) の完全なパスとファイル名が含まれます。 |
$_SERVER['SCRIPT_URI'] | URI は、アクセスするページを指定するために使用されます。たとえば、「/index.html」です。 |
以下は参考のためにネチズンによってまとめられた結果です。
サーバー変数 $_SERVER の詳細な説明:
1, $_SESSION['PHP_SELF'] -- 現在実行中のスクリプトのファイル名を取得します
2, $_SERVER['SERVER_PROTOCOL'] -- の名前と値ページのバージョンを要求するときの通信プロトコル。たとえば、「HTTP/1.0」です。
3. $_SERVER['REQUEST_TIME'] -- リクエストが開始されたときのタイムスタンプ。 PHP 5.1.0 以降で有効です。効果は時間関数と同じです。
4. $_SERVER['argv'] -- スクリプトに渡されるパラメーター。試してみたところ、get メソッドは $_SERVER['argv'][0] を取得できますが、post メソッドはそれに値を割り当てることができません。
5. $_SERVER['SERVER_NAME'] -- 現在のホスト名を返します。
6. $_SERVER['SERVER_SOFTWARE'] -- リクエストに応答するときにヘッダー情報で指定される、サーバーを識別する文字列。 Microsoft-IIS/6.0
7 など、$_SERVER['REQUEST_METHOD'] -- ページにアクセスするときのリクエスト メソッド。例: 「GET」、「HEAD」、「POST」、「PUT」。
8. $_SERVER['QUERY_STRING'] -- クエリの文字列 (URL の最初の疑問符 ? の後の内容)。
9. $_SERVER['DOCUMENT_ROOT'] -- 現在実行中のスクリプトが配置されているドキュメント ルート ディレクトリ。サーバー構成ファイルで定義されます。 E:server
10、$_SERVER['HTTP_ACCEPT'] など -- 現在のリクエストの Accept: ヘッダー情報の内容。
11. $_SERVER['HTTP_ACCEPT_CHARSET'] -- 現在のリクエストの Accept-Charset: ヘッダーの内容。例: 「iso-8859-1,*,utf-8」。
12. $_SERVER['HTTP_ACCEPT_ENCODING'] -- 現在のリクエストの Accept-Encoding: ヘッダーの内容。例:「gzip」。
13. $_SERVER['HTTP_ACCEPT_LANGUAGE'] -- 現在のリクエストの Accept-Language: ヘッダーの内容。例:「エン」。
14. $_SERVER['HTTP_CONNECTION'] -- 現在のリクエストの Connection: ヘッダー情報の内容。例:「キープアライブ」。
15. $_SERVER['HTTP_HOST'] -- 現在のリクエストの Host: ヘッダー情報の内容。
16. $_SERVER['HTTP_REFERER'] -- 現在のページにリンクされている前のページの URL アドレス。
17. $_SERVER['HTTP_USER_AGENT'] -- ユーザーが使用したブラウザ情報を返します。この情報は、get_browser() を使用して取得することもできます。
18, $_SERVER['HTTPS'] -- https 経由でアクセスされた場合は空ではない値に設定され、それ以外の場合は off を返します。
19, $_SERVER['REMOTE_ADDR'] -- であるユーザー。現在のページの IP アドレスを参照します。
20. $_SERVER['REMOTE_HOST'] -- 現在のページを閲覧しているユーザーのホスト名。逆ドメイン名解決は、ユーザーの REMOTE_ADDR に基づきます。たとえば、ローカル テストは 127.0.0.1
21, $_SERVER['REMOTE_PORT'] -- ユーザーがサーバーに接続するために使用するポートを返します。このマシンのテストに失敗しました。理由はわかりません。
22. $_SERVER['SCRIPT_FILENAME'] -- 現在実行中のスクリプトの絶対パス名。たとえば、return E:serverindex.php
23, $_SERVER['SERVER_ADMIN'] -- この値は、Apache サーバー構成ファイルの SERVER_ADMIN パラメータを示します。スクリプトが仮想ホスト上で実行されている場合、この値はその仮想ホストの値です
24, $_SERVER['SERVER_PORT'] -- サーバーによって使用されるポート。デフォルトは「80」です。 SSL セキュア接続を使用する場合、この値はユーザーが設定した HTTP ポートです。
25. $_SERVER['SERVER_SIGNATURE'] -- サーバーのバージョンと仮想ホスト名を含む文字列。
26. $_SERVER['PATH_TRANSLATED'] -- 現在のスクリプトが配置されているファイル システムのベース パス (ドキュメント ルート ディレクトリではありません)。これは、サーバーが仮想パスから実際のパスにイメージ化された後の結果です。 Apache 2 ユーザーは、httpd.conf で AcceptPathInfo On を使用して PATH_INFO を定義できます。
27. $_SERVER['SCRIPT_NAME'] -- 現在のスクリプトのパスが含まれます。これは、ページがそれ自体を指す必要がある場合に便利です。 __FILE__ には、現在のファイル (インクルード ファイルなど) の絶対パスとファイル名が含まれます。
28, $_SERVER['REQUEST_URI'] -- このページにアクセスするために必要な URI。たとえば、「/index.html」です。
29, $_SERVER['PHP_AUTH_DIGEST'] -- Apache モジュールとして実行している場合、HTTP ダイジェスト認証プロセス中に、この変数はクライアントによって送信された「Authorization」HTTP ヘッダーの内容に設定されます (さらなる認証操作のために)。
30, $_SERVER['PHP_AUTH_USER'] -- PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行されており、HTTP 認証機能が使用されている場合、この変数はユーザーが入力したユーザー名です。
31. $_SERVER['PHP_AUTH_PW'] -- PHP が Apache または IIS (PHP 5 は ISAPI) モジュール モードで実行されており、HTTP 認証関数が使用されている場合、この変数はユーザーが入力したパスワードです。
32. $_SERVER['AUTH_TYPE'] -- PHP が Apache モジュール モードで実行され、HTTP 認証関数が使用されている場合、この変数は認証タイプです。