0

有 2 台服务器 A 和 B。我在服务器 B 中有我的 php 脚本。现在,客户端将一些数据发送到服务器 A,服务器 A 将其发送到服务器 B。

我想获取请求的 IP 地址(即服务器 A)。我怎样才能使用 php 来做到这一点?

如果我使用$_SERVER['REMOTE_ADDR'],我会得到客户端的 IP 地址。如果我使用$_SERVER['SERVER_ADDR'],我会得到空值。

4

1 回答 1

0

$_SERVER['SERVER_NAME']并且$_SERVER['HTTP_HOST']应该返回服务器的 DNS 名称。如果您可以使用 DNS 而不是 IP,我认为您应该尝试使用这些变量之一。虽然,如前所述,如果没有$_SERVER['SERVER_ADDR']填充,您可能有错误的配置。

提供有关服务器、IIS/Apache、操作系统、PHP 版本的信息,这可能更容易提供帮助。

此外,尝试$_SERVER['SERVER_ADDR']在请求进入的服务器 A 上回显/记录,看看您是否从那里获得一个值,因为$_SERVER['SERVER_ADDR']在服务器 B 上读取应该为您提供服务器 B 的 IP。如果您在服务器 A 上获得一个值,您可以保存/传递在代码中将值转发到服务器 B(无论您从服务器 A 到 B 的事务发生在哪里)。

“执行当前脚本的服务器的 IP 地址。”

于 2012-10-12T10:43:42.103 回答