PHP准确取得服务器IP地址的方法


Posted in PHP onJune 02, 2015

本文实例讲述了PHP准确取得服务器IP地址的方法。分享给大家供大家参考。具体分析如下:

在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。

php手册中的解释如下:

“HTTP_HOST”

当前请求的 Host: 头信息的内容。

一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量。

然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错。

最后找出原因:$_SERVER['HTTP_HOST']在客户的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。

究其原因,是因为,客户的公司通过一台服务器连接至因特网,而我们的程序所在的服务器,是通过域名映射出来的,也就是中间有个“代理”的过程。

因此$_SERVER['HTTP_HOST']在这样的环境里,取得的值总是程序所在的服务器在其局域网内的ip值。

最后查了不少资料,在symfony框架里面,找到替代的实现方法:

$host = $_SERVER['HTTP_HOST'];

替换成:
$host = isset($_SERVER['HTTP_X_FORWARDED_HOST']) ? $_SERVER['HTTP_X_FORWARDED_HOST'] : (isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : '');

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP截取中文字符串的问题
Jul 12 PHP
PHP与SQL注入攻击[二]
Apr 17 PHP
php新建文件自动编号的思路与实现
Jun 27 PHP
php中大括号作用介绍
Mar 22 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
php中eval函数的危害与正确禁用方法
Jun 30 PHP
php中this关键字用法分析
Dec 07 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
Jul 19 PHP
thinkPHP5框架auth权限控制类与用法示例
Jun 12 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
Laravel 错误提示本地化的实现
Oct 22 PHP
Thinkphp框架使用list_to_tree 实现无限级分类列出所有节点示例
Apr 04 PHP
PHP中isset与array_key_exists的区别实例分析
Jun 02 #PHP
php使用ob_flush不能每隔一秒输出原理分析
Jun 02 #PHP
php获取指定范围内最接近数的方法
Jun 02 #PHP
PHP使用递归方式列出当前目录下所有文件的方法
Jun 02 #PHP
php使用socket post数据到其它web服务器的方法
Jun 02 #PHP
php自动给网址加上链接的方法
Jun 02 #PHP
php将字符串随机分割成不同长度数组的方法
Jun 01 #PHP
You might like
Phpbean路由转发的php代码
2008/01/10 PHP
PHP 日志缩略名的创建函数代码
2010/05/26 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
thinkphp关于简单的权限判定方法
2017/04/03 PHP
比较简单的异步加载JS文件的代码
2009/07/18 Javascript
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JavaScript定义类或函数的几种方式小结
2011/01/09 Javascript
javascript中html字符串转化为jquery dom对象的方法
2015/08/27 Javascript
浅谈Nodejs观察者模式
2015/10/13 NodeJs
基于jQuery日历插件制作日历
2016/03/11 Javascript
JS中的forEach、$.each、map方法推荐
2016/04/05 Javascript
JS中数组重排序方法
2016/11/11 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
Vue.js仿Metronic高级表格(二)数据渲染
2017/04/19 Javascript
深入理解AngularJs-scope的脏检查(一)
2017/06/19 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
送你43道JS面试题(收藏)
2019/06/17 Javascript
如何测量vue应用运行时的性能
2019/06/21 Javascript
layui监听工具栏的实例(操作列表按钮)
2019/09/10 Javascript
解决Layui数据表格的宽高问题
2019/09/28 Javascript
在Python中操作字符串之rstrip()方法的使用
2015/05/19 Python
python 按照固定长度分割字符串的方法小结
2018/04/30 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
怎样自定义一个异常类
2016/09/27 面试题
材料会计岗位职责
2014/03/06 职场文书
社团活动总结模板
2014/06/30 职场文书
2014年政协工作总结
2014/12/09 职场文书
国庆庆典邀请函
2015/02/02 职场文书
靠谱的活动总结
2019/04/16 职场文书
Python实战之大鱼吃小鱼游戏的实现
2022/04/01 Python