首页 > 后端开发 > PHP问题 > php中getenv和server有什么区别

php中getenv和server有什么区别

WBOY
发布: 2023-03-16 18:58:01
原创
1603 人浏览过

php中getenv和server的区别:1、getenv可获取系统的环境变量,语法为“string getenv(string varname)”,而“$_SERVER”是服务器超级全局变量数组;2、getenv不支持IIS的isapi方式运行的PHP,“$_SERVER”支持。

php中getenv和server有什么区别

本文操作环境: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中文网其他相关文章!

相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板