Ownsight

标题: php $_ENV [打印本页]

作者: craft? ? 时间: 2015-11-2 15:26
标题: php $_ENV
? ? $_ENV数组中的内容是在php解析器运行时,从php所在服务器中的环境变量转变为php全局变量的。它们中的许多都是由php所运行的系统决定,完整的列表是不可能的,需要查看php所在服务器的系统文档以确定其特定的环境变量。和$_SERVER一样,这也是自动全局变量,在所有的脚本中都有效,在函数或对象的方法中不需要使用global关键词访问它。在下面的示例中用foreach语句,将php中能使用的php所在服务器的环境相关信息全部输出,以供用户查看。

代码编辑如下:
//遍历$_ENV变量
echo '';
echo '';
$i=0;
foreach($_ENV as $key=>$val){
if($i%2==0){
$bgcolor='red';
}
else{
$bgcolor='blue';
}
echo '';
echo '';
echo '';
$i++;
}
?>
运行结果:

$_ENV数组
'.$key.''.$val.'
ALLUSERSPROFILE
C:\Documents and Settings\All Users
CommonProgramFiles
C:\Program Files\Common Files
COMPUTERNAME
WANGJIANLONG
ComSpec
C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK
NO
NUMBER_OF_PROCESSORS
2
OS
Windows_NT
Path
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs
PATHEXT
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE
x86
PROCESSOR_IDENTIFIER
x86 Family 6 Model 14 Stepping 8, GenuineIntel
PROCESSOR_LEVEL
6
PROCESSOR_REVISION
0e08
ProgramFiles
C:\Program Files
SystemDrive
C:
SystemRoot
C:\WINDOWS
TEMP
C:\WINDOWS\TEMP
TMP
C:\WINDOWS\TEMP
USERPROFILE
C:\Documents and Settings\LocalService
windir
C:\WINDOWS
AP_PARENT_PID
836


但有时候$_ENV是空的,可能有以下原因:
? ? 在php.ini中的variables_order值为“GPCS”,也就是说系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES,SERVER,没有定义Environment(E),你可以修改php.ini文件的variables_order值为你想要的顺序,如:“EGPCS”.这时,$_ENV的值就可以取得了
? ? EGPCS值(EGPCS是Environment、Get、Post、Cookies、Server的缩写 -- 这是PHP中外部变量来源的全部范围).





欢迎光临 Ownsight (http://bbs.ownsight.net/) Powered by Discuz! X3.2