PHP $_ENV 变量
$_ENV 是一个包含服务器端环境变量的数组。它是 PHP 中一个超级全局变量,我们可以在 PHP 程序的任何地方直接访问它。
$_ENV 只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接打印它:
print_r($_ENV);
限于篇幅,在此不再列出打印的结果,且不同的服务器上,打印出的结果可能是完全不同的。
$_ENV 数组元素
$_ENV 数组中的元素(数组单元)随服务器环境不同而有较大差异,所以无法像 $_SERVER 那样列出完整的列表。以下是 $_ENV 数组包含的比较通用的元素:
- $_SERVER['PATH']:环境变量 PATH 路径。
- $_SERVER['CLASSPATH']:系统 CLASSPATH 路径。
- $_SERVER['LIB']:系统 LIB 库路径。
- $_SERVER['INCLUDE']:系统 Include 路径,注意与 PHP 的包含路径是不一样的。
- $_SERVER['OS']:操作系统类型。
- $_SERVER['LANG']:系统语言,如 en_US 或 zh_CN。
- $_SERVER['PWD']:当前工作目录。
- $_SERVER['TEMP']:系统 TEMP 路径。
- $_SERVER['AP_PARENT_PID']:当前进程 ID 号。
- $_SERVER['NUMBER_OF_PROCESSORS']:系统 CPU 数目。
$_ENV 为空的原因及解决办法
如果打印输出 $_ENV 为空,可以检查一下 php.ini 的配置:
variables_order = "EGPCS"
上述配置表示 PHP 接受的外部变量来源及顺序,EGPCS 是 Environment、Get、Post、Cookies 和 Server 的缩写。如果 variables_order 的配置中缺少 E ,则 PHP 无法接受环境变量,那么 $_ENV 也就为空了。