2009-04-17 55 views
3

從多臺機器訪問我的站點時$ _SERVER ['REMOTE_ADDR']始終解析爲空字符串。這可能是什麼原因?

附加信息: 其中一臺機器正在本地主機上運行該站點。本地主機上的機器不應該總是解析爲127.0.0.1?

我的設置是LAMP。一個開發者。運行站點本地主機,並有問題的機器是Mac並運行XAMPP。我認爲我們的實時暫存環境是CentOS(共享主機)。

+0

什麼是web服務器軟件,以及哪個版本的PHP? – Alnitak 2009-04-17 10:18:23

+0

添加了其他信息。 – Luke 2009-04-17 10:24:43

+0

你在`REMOTE_ADDR`上做`gethostbyaddr()`查找嗎? – matpie 2009-04-17 17:34:34

回答

2

我想這是由於缺少地址的反向委派而導致的。除非絕對必要,否則應避免反向分辨率。

它不僅在等待時間方面很昂貴,而且由於沒有要求解決什麼問題或者需要解決的問題,還可能產生意想不到的結果。

0

試着從這些機器上看看phpinfo(),看看它們是什麼。

0

我剛剛遇到了這個問題,事實證明,在運行我的代碼之前,PHP代碼明確地將它設置爲''。這是因爲IPv6遠程地址與其僅限IPv4的正則表達式不匹配。

如果別人遇到同樣的問題,請留下此處,這對我來說很簡單。

有問題的模塊是simplemachinesforum。