PHP 如何准确取得服务器地址IP[非代理]
在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址。
“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'] : '');
转载于:https://www.cnblogs.com/zcy_soft/archive/2011/09/17/2179771.html
PHP 如何准确取得服务器地址IP[非代理]相关推荐
- 我的世界正版端游服务器ip地址,我的世界幻想堡垒服务器地址ip(我的世界1.14.4 版本)...
我的世界幻想堡垒服务器是一个有爱和谐的大型百人生存服务器,支持最新的我的世界1.14.4游戏版本,多达百人在线,同时我的世界幻想堡垒服务器拥有多种特色游戏功能,末日地堡.百万富翁,复古与新玩法在这里完 ...
- 打印机服务器ip修改,怎样改打印机服务器的ip地址
怎样改打印机服务器的ip地址 内容精选 换一换 一.Linux下常用命令:文件与目录操作basename:从文件名中去掉路径和扩展名cd:切换当前工作目录到指定目录chgrp:改变文件所属组chmod ...
- Java里面获取当前服务器的IP地址
java中获取当前服务器地址主要使用到InetAddress这个类 public static void main(String[] args) {try {//用 getLocalHost() 方法 ...
- 打印机服务器ip修改,怎么样更改打印机服务器的ip地址
怎么样更改打印机服务器的ip地址 内容精选 换一换 实例常用端口如表1所示.您可以通过配置安全组规则放通实例对应的端口,详情请参见配置安全组规则.无法访问公有云某些端口问题现象:访问公有云特定端口,在 ...
- ping服务器地址加时间显示,如何对IP地址进行Ping测试
Ping命令能测试您和另一个网络节点之间的连接速度.您能使用该命令了解连接的强度.距离和可用性,不管是在您自己的网络中还是互联网.参照以下指南了解如何在各种系统中使用Ping命令. 方法1在Windo ...
- 使用花生壳远程连接服务器,服务器的IP地址改变时,重连服务器的方法
这个事情是我经历过的,想分享给大家,同时也做个自己的记录. 不知道审核为什么非说这篇是个广告???!!!审核的人一定没用过花生壳这个软件吧!!我又没有引导大家进行消费,只是告诉大家在出现这个问题的时候 ...
- 拼网站服务器地址,怎么拼网页服务器ip地址
怎么拼网页服务器ip地址 内容精选 换一换 本章节指导用户获取云服务器的IP地址等网卡信息.进入弹性云服务器页面.进入云服务器详情页面.进入网卡详情页面.网卡详情页面进入虚拟IP详情页,即可根据云服务 ...
- 服务器打印的信息怎么看到,怎么查看打印机服务器的ip地址
怎么查看打印机服务器的ip地址 内容精选 换一换 3.2.3 Windows系统远程口令猜解Windows系统提供了两种远程访问的方式,一种是通过IPC(Inter-Process Communica ...
- 北京dns服务器ip地址_什么是DNS? 域名系统,DNS服务器和IP地址概念介绍
北京dns服务器ip地址 介绍 (Introduction) By the end of this article, you should have a better understanding of ...
最新文章
- java第三章_Java 第三章
- CAPSNET:具有自我注意路由的胶囊网络
- Xmanager7如何通过SSH连接远程服务器
- The Text Splitting (将字符串分成若干份,每份长度为p或q)
- php控制 css样式,div css样式控制案例
- java实现rtsp转rtmp
- 数据结构与算法——栈、队列、堆汇总整理
- arduino lora通讯_ESP8266 LoRa网关第一步:SPI总线
- 数字图像处理-绪论 (上)
- $(...).nicescroll is not a function报错分析
- MSM8937系统启动流程
- 深入浅出 SSL/TLS 协议
- 原生JS 和 jQuery 通过url传递 和 接收 自定义参数
- nginx:重启linux服务之后保持nginx重启,nginx后台自启动
- 计算机网络的OSI 7层模型
- C++20中的协程(Coroutine)
- WDCP是什么 关于WDCP的详细介绍
- Java小农养成记第十四天
- 深度 | 人脸识别在安防领域的路还有很长时间要走
- 制作kali live usb启动盘-win10下
热门文章
- LeetCode每日一题 844. 比较含退格的字符串
- Windows下安装部署DBeaver连接clickhouse
- skimage.io.imread(), Image.open() 以及 cv2.imread()的区别
- having and group by
- [C/C++面试题]-错题笔记与解析
- php 降低图像大小,在PHP中调整图像大小
- aix系统服务器限制ftp访问,AIX 限制ftp用户只能访问其主目录
- 计算机职称在线考试报名系统,2020年计算机职称考试网上如何报名
- Excel中vlookup函数的使用方法
- 两个具有相同的名称在CLASSPATH中的类