PHP $_ENV


介绍

$_ENV 是 PHP 中的另一个超全局关联数组。它存储脚本可用的环境变量。$HTTP_ENV_VARS 也包含相同的信息,但不是超全局变量,并且现在已被弃用。

环境变量被导入到全局名称空间。其中大多数变量由 PHP 解析器正在运行的 shell 提供。因此,不同的平台上环境变量的列表可能不同。

PHP 是作为服务器模块还是 CGI 处理器运行,则此数组还包括 CGI 变量。

PHP 库有 getenv() 函数来检索所有环境变量或特定环境变量的列表

getenv

以下脚本显示所有可用环境变量的值

<?php
$arr=getenv();
foreach ($arr as $key=>$val)
echo "$key=>$val
";
?>

要获取特定变量的值,请使用其名称作为 getenv() 函数的参数

示例

 在线示例

<?php
echo "Path: " . getenv("PATH");
?>

输出

浏览器将显示类似以下结果

Path: /usr/local/bin/factor:/root/.sdkman/candidates/kotlin/current/bin:/usr/GNUstep/System/Tools:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/scriba/bin:/usr/local/smlnj/bin:/usr/local/bin/std:/usr/local/bin/extra:/usr/local/fantom/bin:/usr/local/dart/bin:/usr/libexec/sdcc:/usr/local/icon-v950/bin:/usr/local/mozart/bin:/opt/Pawn/bin:/opt/pash/Source/PashConsole/bin/Debug/:.:/root/.sdkman/candidates/kotlin/current/bin:/usr/bin:/sbin:/bin

PHP 也有 putenv() 函数来创建一个新的环境变量。环境变量仅在当前请求期间存在。

应该避免更改某些环境变量的值。默认情况下,用户只能设置以 PHP_ 开头的环境变量(例如 PHP_FOO=BAR)。

php.ini 中的 safe_mode_protected_env_vars 指令包含一个用逗号分隔的环境变量列表,最终用户无法使用 putenv() 更改这些变量。

putenv

示例

 在线示例

<?php
putenv("PHP_TEMPUSER=GUEST");
echo "Temp user: " . getenv("PHP_TEMPUSER");
?>

输出

浏览器将显示结果如下

Temp user: GUEST

更新于:21-Sep-2020

6K+ 浏览量

开启你的 职业生涯

完成课程,获得认证

开始
广告
© . All rights reserved.