$_SERVER[] と getenv()の違い


$_SERVER['REMOTE_ADDR'] と getenv('REMOTE_ADDR')の違いを教えてください

▽PHP: getenv - Manual
  http://php.net/manual/ja/function.getenv.php
  環境変数って何ですか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/01/19 08:55:03

ベストアンサー

id:windofjuly No.1

回答回数2625ベストアンサー獲得回数1149

(1)違い
getenvは古くからある関数です
$_SERVERは比較的新しい組み込み変数です

(2)環境変数
自分の置かれている環境の情報が入っている変数は2種類あります
(a)シェル上にある環境変数
(b)WEBサーバーから渡される環境変数

(3)使い分け
$_SERVERは(b)を取得できます
getenvは(a)(b)どちらも取得できます

WEBサーバーから渡されるREMOTE_ADDRなどを取得する場合には、
phpにネイティブで組み込まれている変数から読み取るほうが、
簡単で速いので$_SERVERを使います

独自の環境変数を用意しているような場合には、
getenv でないと取得できなかったりもしますので、
変数による取得と関数による取得の両方を覚えておいたほうがいいでしょう

id:railway0

回答&詳しい解説ありがとうございましたー

2012/01/28 14:32:55

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません