有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