[PHP] サーバー情報および実行時の環境情報 ($_SERVER)

サーバー情報および実行時の環境情報はグローバル配列 $_SERVER[] にセットされる。サーバーでphpinfo関数を実行することで実際の値を確認することも可能。

以下に、良く使いそうなインデックスをマニュアルから抜粋しておく。

‘PHP_SELF’
現在実行しているスクリプトのファイル名です。 ドキュメントルートから取得されます。 例えば、http://example.com/foo/bar.php というアドレス上にあるスクリプトでは $_SERVER[‘PHP_SELF’] は /foo/bar.php となります。

‘SERVER_ADDR’
現在のスクリプトが実行されているサーバーの IP アドレスです。

‘SERVER_NAME’
現在のスクリプトが実行されているサーバーのホスト名です。 スクリプトがバーチャルホスト上で実行されている場合は そのバーチャルホスト名となります。

‘REQUEST_METHOD’
ページにアクセスする際に使用されたリクエストのメソッド名です。 ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’ など。

‘DOCUMENT_ROOT’
現在実行されているスクリプトが存在するドキュメントルート ディレクトリです。サーバーのコンフィグレーションファイルで 定義されています。

‘HTTP_REFERER’
現在のページに遷移する前にユーザーエージェントが参照していた ページのアドレス(もしあれば)。これはユーザーエージェントに よってセットされます。全てのユーザーエージェントが これをセットしているわけではなく、また、HTTP_REFERER を変更する機能を持つものもあります。 要するに、信頼するべきものではありません。

‘HTTP_USER_AGENT’
現在のリクエストに User-Agent: ヘッダが もしあればその内容。ページにアクセスしてきているユーザーエージェント のしるしの文字列です。典型的な例は、 Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。たとえば、 get_browser() でこの値を使って ページの出力をそのブラウザにあわせたものにすることも できるでしょう。

‘REMOTE_ADDR’
現在ページをみているユーザーの IP アドレス。

‘REMOTE_HOST’
現在のページにアクセスしているホスト名。DNS の逆引き検索は ユーザーの REMOTE_ADDR に基づいています。

‘SCRIPT_NAME’
現在のスクリプトのパス。 スクリプト自身のページを指定するのに有用です

‘REQUEST_URI’
ページにアクセスするために指定された URI。例えば、 ‘/index.html’

‘PHP_AUTH_USER’
HTTP 認証しているときにそのユーザー名がセットされます。

‘PHP_AUTH_PW’
HTTP 認証しているときにそのユーザーの パスワードがセットされます。

‘AUTH_TYPE’
HTTP 認証しているときにその認証形式がセットされます。

参考サイト

PHP: $_SERVER – Manual
http://php.net/manual/ja/reserved.variables.server.php