作成日:2006/05/24
2C CGI環境変数
PHPの場合でもCGIと同様に環境変数へのアクセスができます。 Perlではハッシュ変数 %ENV によって環境変数を取得できますが、PHPでは定義済み変数($_SERVERまたは$_ENV)によってに取得します。
- $_SERVER --- Webサーバによって生成される変数(サーバ変数)
- $_ENV ------ PHPパーサが実行されているシェルが生成する変数('いわゆる'環境変数)
Webプログラミングでは、ほとんどの場合、興味ある変数はサーバ変数に含まれています。
2C.1 定義済み変数によるサーバ変数/環境変数の取得
| 定義済み変数 | 説明 |
|---|---|
$_SERVER['name'] |
$_SERVER は、Webサーバによって生成される情報(サーバ変数)が格納された連想配列で、スーパーグローバルスコープを持った変数です。 $_SERVER には、HTTPヘッダ、パス、スクリプトのロケーションなどの情報が含まれます。 これらの変数(「サーバ変数」を参照)は CGIの仕様に基づいて定義されていますが、 全てのWebサーバが全ての変数を提供する保障はありません。 ※ PHP4.10より前のバージョンでは $HTTP_SERVER_VARS を通して取得されていました。 用例:
$referer = $_SERVER['HTTP_REFERER']; // 参照元URLの取得 |
$_ENV['name'] |
$_ENVは、PHPパーサが実行されているシェルが生成する情報(環境変数)が格納された連想配列で、 スーパーグローバルスコープを持った変数です。 環境変数の多くは、PHPが実行されているシステムやシェルよって異なります。 ※ PHP4.10より前のバージョンでは $HTTP_ENV_VARS を通して取得されていました。 ※ PHP4.10以降、$_ENV と$HTTP_ENV_VARS は同じ内容ですが、異なった変数です。 用例:
$path = $_ENV['Path']; // 環境変数の取得(Windows) |
