php getenv 和 putenv 用法

getenv 的功能是取得一个指定的环境变量。

getenv('REMOTE_ADDR') $_SERVER['REMOTE_ADDR'] 功能一样

但是当Web服务器API是ASAPI (IIS)的时候,getenv函数是不起作用的。这种情况下你如果用getenv来取得用户客户端ip的话,得到的将是错误的ip地址。

 

[ 测试代码 ]

 1 $ip1 = $_SERVER['REMOTE_ADDR'];
 2 $ip2 = getenv('REMOTE_ADDR');
 3 
 4 putenv("test=is a test");
 5 $str1 = getenv('test');
 6 $str2 = $_SERVER['test'];
 7 
 8 echo  "ip1:{$ip1}";
 9 echo "<br>";
10 echo  "ip2:{$ip2}";
11 echo "<br>";
12 echo  "str:{$str1}";
13 echo "<br>";
14 echo  "str:{$str2}";

 

[ 运行结果 ]

 

总结:putenv 可以设置一个新的环境变量但是从 $_SERVER 这个超全局数组中是看不到的,getenv 可以获取 $_SERVER 里面的成员

 

posted @ 2014-12-03 14:56  今夜打老虎  阅读(621)  评论(0)    收藏  举报