PHP $_ENV

phpserver side programmingprogramming更新于 2025/7/18 10:07:17

简介

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

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

此数组还包含 CGI 变量,以防 PHP 作为服务器模块或 CGI 处理器运行。

PHP 库具有 getenv() 函数,用于检索所有环境变量列表或特定环境变量的值。

getenv

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

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

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

示例

<?php
echo "Path: " . getenv("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/lo cal/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

相关文章