getenv

環境変数の値をひとつ、または全て取得する

説明

stringarrayfalse getenv(stringnull $name = null, bool $local_only = false)

環境変数の値をひとつ、または全て取得します。

phpinfo を使えば、すべての環境変数の一覧を見ることができます。 これらの変数の多くは、 » RFC 3875 の section 4.1, "Request Meta-Variables" に挙げられているものです。

パラメータ

name

変数の名前を文字列で指定します。null も指定できます。

local_only

true に設定すると、(OS または putenv により設定された) ローカルの環境変数のみを返します。 これは、name に文字列を指定した場合にのみ有効です。

戻り値

name に対応する環境変数の値を返します。 環境変数 name が存在しない場合は false を返します。 namenull の場合、 すべての環境変数を連想配列で返します。

変更履歴

バージョン 説明
8.0.0 name は、nullable になりました。
7.1.0 name は、すべての環境変数の連想配列を取得するために 省略することができるようになりました。
7.0.9 local_only パラメーターが追加されました。

例1 getenv の例

<?php
// getenv() の使用例
$ip = getenv('REMOTE_ADDR');

// または単純にスーパーグローバル($_SERVER または $_ENV)を使用します
$ip = $_SERVER['REMOTE_ADDR'];

// SAPI により設定されたか、または putenv により変更されたかどうかを無視して
// 環境変数の値を安全に取得します。
$ip = getenv('REMOTE_ADDR', true) ?: getenv('REMOTE_ADDR')
?>

注意

警告

PHP が Fast CGI のような SAPI で実行中の場合、 同じ名前のローカル環境変数を設定するために putenv が使用されても、 この関数は SAPI により設定された環境変数の値を常に返します。 ローカル設定された環境変数の値を返すには、 local_only パラメーターを使用してください。

参考