有2个服务器A和B.我在服务器B. 现在我的PHP脚本,客户端的一些数据发送到服务器A和服务器A发送给服务器B.如何获取使用php请求的服务器地址的IP地址?
我想要得到的IP地址请求来了(即服务器A)。我怎样才能使用PHP?
如果我使用$_SERVER['REMOTE_ADDR']
,我得到客户端的IP地址。 如果我使用$_SERVER['SERVER_ADDR']
,我会得到空值。
有2个服务器A和B.我在服务器B. 现在我的PHP脚本,客户端的一些数据发送到服务器A和服务器A发送给服务器B.如何获取使用php请求的服务器地址的IP地址?
我想要得到的IP地址请求来了(即服务器A)。我怎样才能使用PHP?
如果我使用$_SERVER['REMOTE_ADDR']
,我得到客户端的IP地址。 如果我使用$_SERVER['SERVER_ADDR']
,我会得到空值。
$_SERVER['SERVER_NAME']
and $_SERVER['HTTP_HOST']
应该返回服务器的DNS名称。如果你可以使用DNS而不是IP,我想也许你应该尝试使用这些变量之一。尽管如前所述,如果没有填充$_SERVER['SERVER_ADDR']
,则可能是配置错误。
提供有关服务器,IIS/Apache,操作系统,PHP版本的信息,它可能更容易帮助。
另外,尝试呼应/服务器上的日志记录$_SERVER['SERVER_ADDR']
在请求到达,看看你从那里得到的值,因为服务器B阅读$_SERVER['SERVER_ADDR']
应该给你的IP服务器B.。如果你在服务器A上的值您可以在代码中将值保存/传递给服务器B(无论您的服务器A到B的事务发生在哪里)。
"The IP address of the server under which the current script is executing."
这是一个与你的网络服务器配置或行为问题,如果它不填充'SERVER_ADDR'。 – mario
您是否将客户端浏览器重定向到服务器B? –
可能重复: 去下面的问题, http://stackoverflow.com/questions/3003145/how-to-get-client-ip-address – Sujeet