サーバー情報および実行時の環境情報はグローバル配列 $_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