PHP8 getenv — 获取单个或者全部环境变量

2023-09-16 11:10 更新

(PHP 4, PHP 5, PHP 7, PHP 8)

getenv — 获取单个或者全部环境变量

说明

getenv(?string $name = null, bool $local_only = false): string|array|false

获取单个或者全部环境变量。

使用 phpinfo() 你可以看到所有环境变量的列表。 这些变量很多都在 » RFC 3875 的范围之内, 尤其是章节4.1,"Request Meta-Variables"。

参数

name

string 形式的变量名或为 null

local_only

当设置为 true 时,仅返回由操作系统或 putenv() 设置的本地环境变量。这只在 name 是 string 时才生效。

返回值

返回环境变量 name 的值,如果环境变量 name 不存在则返回 false。如果 name 是 null,则所有环境变量都将作为关联 array 返回。

更新日志

版本 说明
8.0.0 name 现在可为 null。
7.1.0 现在可以省略 name 来检索所有环境变量的关联数组 array。
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 中运行,则此函数将始终返回由 SAPI 设置的环境变量的值,即使已使用 putenv() 来设置同名的本地环境变量。使用 local_only 参数返回本地设置的环境变量的值。

参见

  • putenv() - 设置环境变量的值
  • apache_getenv() - 获取 Apache subprocess_env 变量
  • 超全局变量


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号