>首页> IT >

世界微头条丨php中getenv和server有什么区别

时间:2022-08-26 16:46:34       来源:PHP中文网

本文操作环境:Windows10系统、PHP8.1版、Dell G3电脑

php中getenv和server有什么区别

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中文网其它相关文章!

关键词: 有什么区别 环境变量 相关文章