通过环境方式传递给当前脚本的变量的数组。
这些变量被从 PHP 解析器的运行环境导入到 PHP 的全局命名空间。很多是由支持 PHP 运行的 Shell 提供的,并且不同的系统很可能运行着不同种类的 Shell,所以不可能有一份确定的列表。请查看你的 Shell 文档来获取定义的环境变量列表。
其他环境变量包含了 CGI 变量,而不管 PHP 是以服务器模块还是 CGI 处理器的方式运行。
$HTTP_ENV_VARS 包含相同的信息,但它不是一个超全局变量。 (注意 $HTTP_ENV_VARS 和 $_ENV 是不同的变量,PHP 处理它们的方式不同)
注意:
4.1.0引入 $_ENV,弃用 $HTTP_ENV_VARS
Regarding [david at davidfavor dot com 07-Feb-2012 02:07]; not true (at least for me, running PHP 5.3.9 on Windows 7):
My php.ini file (not containing "E"): variables_order = "GPCS"
<?php
var_dump($_ENV); echo getenv('OS'); ?>
If $_ENV is empty because variables_order does not include it, it will be filled with values fetched by getenv().
For example, when calling getenv("REMOTE_ADDR"), $_ENV['REMOTE_ADDR'] will be defined as well (if such an environment variable exists).
[
本帖最后由 xiexie 于 2012-4-7 00:37 编辑 ]