php取得服务器IP地址[非代理]的方法
在php中,一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。
在php手册中的解释:
“HTTP_HOST”
当前请求的 Host: 头信息的内容。
在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量。
不过最近遇到一个问题,不能准确得到服务器的Ip地址。
原因:$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
由于客户的公司通过一台服务器连接至因特网,而程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。
因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。
最后在symfony框架中找到替代的实现方法:
将
替换成:
然后,问题就解决了,可以获得真实的IP地址了。
您可能感兴趣的文章:
php获取远程客户端真实ip地址
php取得服务器IP地址[非代理]的方法
深入解析PHP获取客户端IP的方法
php获取ip的多种方法
获取客户端的真实ip地址的php实现方法与原理
php获取客户端的真实IP的方法介绍
使用PHP来获取客户端和服务端IP
PHP通过IP获取地理位置的代码
获取用户真实IP地址的php代码
php 获取网站地址的函数代码