php中getenv和server的区别:1、getenv可获取系统的环境变量,语法为“string getenv(string varname)”,而“$_SERVER”是服务器超级全局变量数组;2、getenv不支持IIS的isapi方式运行的PHP,“$_SERVER”支持。
本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑
PHP中getenv()和$_SERVER的用法区别:
getenv取得系统的环境变量,环境变量的格式为name=value。
语法:
string getenv(string varname);
返回值: 字符串 函数种类: PHP 系统功能
内容说明
若正确取得环境变量 varname,则返回变量值,失败则返回 false。
下例可以取得用户浏览器所在机器的网址
$ip = getenv(“REMOTE_ADDR”); ?>
$_SERVER是服务器超级全局变量数组 用$_SERVER['REMOTE_ADDR']同样可以获取到***端的IP地址。
二者的区别在于,getenv不支持IIS的isapi方式运行的PHP。
扩展知识
解决PHP获取不到ip地址`函数getenv(“REMOTE_ADDR”)
与$_SERVER['REMOTE_ADDR']
的区别
最近用PHP帮朋友写了个用于投票的页面,一切都很顺利,装上后发现:访客IP地址没能记录上(没能成功获取IP地址),怪事,当初本地测试都好的呀。难不成本地和服务器有别,马上开个空间,测试,仍然一切正常。再一个个问题都排除后,了解到对方是windows下的iis,而自己测试都在apache上,很可能是这个原因。
马上更换函数:将原来的ip地址获取函数”getenv(“REMOTE_ADDR”)
“更换为”$_SERVER['REMOTE_ADDR']
“,覆盖更新,再看数据库,ip地址已经成功记录,搞定。
既然再次遇到这问题,就还是记录下吧:PHP中获取访客(***端)的ip地址函数getenv(“REMOTE_ADDR”) 与$_SERVER['REMOTE_ADDR']的区别,其实,通过这件事,已经很清楚了。getenv(“REMOTE_ADDR”)函数在 apache下能正常获取ip地址,而在iis中,一点作用都没,而$_SERVER['REMOTE_ADDR']函数,既可在apache中成功获取 访客的ip地址,在iis下也同样有效。
推荐学习:《PHP视频教程》
以上是php中getenv和server有什么区别的详细内容。更多信息请关注PHP中文网其他相关文章!