PHP開発でよくお世話になる $_SERVER変数の中身を解説しています。
$_SERVER変数について
PHPでは、サーバに関する環境変数は $_SERVER グローバル変数(どこからでもアクセス出来る変数)に格納されます。
非常に便利なのですが、よくどの変数がどれだっけ?と忘れてしまうので、備忘録兼ねて書いておくことにします。
例には、実際にアクセスがあった時点の$_SERVER変数値を掲載していますので、ご自身のアクセス情報なども確認することができます。
変数名 | 説明 | 例 |
---|---|---|
$_SERVER['REMOTE_ADDR'] | 現在ページをみているユーザの IP アドレス。 | 18.117.192.253 |
$_SERVER['REMOTE_PORT'] | ユーザのマシンから Web サーバへの通信に使用されているポート番号 | 55870 |
$_SERVER['HTTP_REFERER'] | 現在のページに遷移する前にユーザエージェントが参照していた ページのアドレス(もしあれば)。 | https://en-pc.jp/tech/php_server.php |
$_SERVER['HTTP_USER_AGENT'] | 現在のリクエストに User-Agent: ヘッダが もしあればその内容。 | Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com) |
$_SERVER['REMOTE_HOST'] | 現在のページにアクセスしているホスト名。DNS の逆引き検索は ユーザの REMOTE_ADDR に基づいています。 注意: Web サーバがこの値を生成できるように設定されている必要があります。 例えば Apache の場合 HostnameLookups On が httpd.conf に設定されていなければこの値は生成されません。 | |
$_SERVER['SERVER_ADDR'] | 現在のスクリプトが実行されているサーバの IP アドレスです。 | 202.226.39.150 |
$_SERVER['SERVER_NAME'] | 現在のスクリプトが実行されているサーバのホスト名です。 スクリプトがバーチャルホスト上で実行されている場合は そのバーチャルホスト名となります。 | www.en-pc.jp |
$_SERVER['HTTP_HOST'] | 現在のリクエストに Host: ヘッダが もしあればその内容。 | www.en-pc.jp |
$_SERVER['REQUEST_METHOD'] | ページにアクセスする際に使用されたリクエストのメソッド名です。 | GET |
$_SERVER['REQUEST_URI'] | ページにアクセスするために指定された URI。 | /tech/php_server/ |
$_SERVER['SCRIPT_NAME'] | 現在のスクリプトのパス。 スクリプト自身のページを指定するのに有用です。 | /index.php |
$_SERVER['PHP_SELF'] | 現在実行しているスクリプトのファイル名です。 ドキュメントルートから取得されます。 | /index.php |
$_SERVER['QUERY_STRING'] | ページがアクセスされた際にもし検索引数があればそれが格納されます。 | |
$_SERVER['DOCUMENT_ROOT'] | 現在実行されているスクリプトが存在するドキュメントルート ディレクトリです。 | 例:/var/www/xxx |
$_SERVER['SCRIPT_FILENAME'] | 現在実行されているスクリプトの絶対パス | 例:/var/www/xxx.php |
$_SERVER['GATEWAY_INTERFACE'] | サーバが使用している CGI のバージョンです。 | 例:CGI/1.1 |
$_SERVER['SERVER_PROTOCOL'] | ページがリクエストされた際のプロトコル名とバージョンです。 | 例:HTTP/1.1 |
$_SERVER['HTTP_ACCEPT'] | 現在のリクエストの Accept: ヘッダがもしあれば その内容。 | */* |
$_SERVER['HTTP_ACCEPT_LANGUAGE'] | 現在のリクエストに Accept-Language: ヘッダが もしあればその内容。 | |
$_SERVER['HTTP_ACCEPT_ENCODING'] | 現在のリクエストに Accept-Encoding: ヘッダが もしあればその内容。 | |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 現在のリクエストの Accept-Charset: ヘッダが もしあればその内容。 | |
$_SERVER['HTTP_CONNECTION'] | 現在のリクエストに Connection: ヘッダが もしあればその内容。 | close |