getenv
(PHP 4, PHP 5, PHP 7, PHP 8)
getenv — 獲取一個環境變數的值
說明
getenv(string
$varname, bool $local_only = false): stringgetenv(): array
獲取一個環境變數的值。
使用 phpinfo() 你可以看到所有環境變數的列表。 這些變數很多都在 » RFC 3875 的範圍之內, 尤其是章節4.1,"Request Meta-Variables"。
參數
-
varname 變數名。
-
local_only 設定為 true 以僅返回本地環境變數(由操作系統或 putenv() 設定)。
返回值
返回環境變數 varname 的值,
如果環境變數 varname 不存在則返回 false。
如果省略 varname,則所有環境變數都將作為關聯陣列 array 返回。
更新日誌
| 版本 | 說明 |
|---|---|
| 7.1.0 | 現在可以省略 varname 來檢索所有環境變數的關聯陣列 array。 |
| 5.5.38, 5.6.24, 7.0.9 | 新增 local_only 參數。 |
註釋
警告
如果 PHP 在諸如 Fast CGI 之類的 SAPI 中執行,則此函式將始終返回由 SAPI 設定的環境變數的值,即使已使用 putenv() 來設定同名的本地環境變數。使用 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')
?> 參見
- putenv() - 設定環境變數的值
- apache_getenv() - 獲取 Apache subprocess_env 變數
- 超全域性變數