您的位置:首页 > 编程语言 > PHP开发

PHP超全局变量$_ENV详解,及$_ENV为空的可能原因

2016-07-14 12:01 435 查看
PHP中的$_ENV存储了一些系统的环境变量,因为牵扯到实际的操作系统,所以不可能给出$_ENV的完整列表。

$_ENV为空的可能原因:

你的php.ini的variables_order值为"GPCS",也就是说系统在定义PHP预定义变量时的顺序是 GET,POST,COOKIES,SERVER,没有定义Environment(E),你可以修改php.ini文件的 variables_order值为你想要的顺序,如:"EGPCS"。这时,$_ENV的值就可以取得了。

EGPCS是Environment、Get、Post、Cookies、Server的缩写,这是PHP中外部变量来源的全部范围,可以用print_r($_ENV)来打印这个变量,查看他的数据。


注意,生产环境下,$_ENV都是空数组,主要是为了安全起见,不让它获取操作系统信息!


$_ENV,作为PHP的9个超级变量($GLOBALS,$_SERVER,$_GET,$_POST,$_COOKIE,$_FILES,$_ENV,$_REQUEST,_SESSION)中的一个, 不用它真是有点浪费,所以说你会看到DiscuzX系统就“重用”了这个 超全局变量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: