PHPの$_SERVER
変数とは、サーバや実行環境に関する情報を扱う配列です。
$_SERVER は、ヘッダ、パス、スクリプトの位置のような 情報を有する配列です。この配列のエントリは、Web サーバーにより 生成されます。全ての Web サーバーがこれら全てを提供する保障はありません。 サーバーは、これらのいくつかを省略したり、この一覧にない他のものを 定義する可能性があります。これらの変数の多くは、 » CGI/1.1 specification で定義されています。したがって、これらについては定義されていることを 期待することができます。
http://php.net/manual/ja/reserved.variables.server.php
開発サーバ上で$_SERVER
変数の値を用いた処理の動作確認をしたい時、本番サーバで付与される環境変数が開発サーバだと付与されないため動作確認できない、というのがありました。
このとき、Apacheの設定ファイルで以下のように記述することで、環境変数を定義することができます。
どうしても開発サーバ上でテストしたいときは、この方法で対応することができました。
<VirtualHost *:80>
(中略)
SetEnv HTTP_X_CLIENT_IP "127.0.0.1"
</VirtualHost>
参考記事:
Apache の環境変数
http://httpd.apache.org/docs/2.0/ja/env.html
開発環境と本番環境で設定が違うときはSetEnvが便利ですね
http://www.ideaxidea.com/archives/2010/04/setenv.html