從多臺機器訪問我的站點時$ _SERVER ['REMOTE_ADDR']始終解析爲空字符串。這可能是什麼原因?
附加信息: 其中一臺機器正在本地主機上運行該站點。本地主機上的機器不應該總是解析爲127.0.0.1?
我的設置是LAMP。一個開發者。運行站點本地主機,並有問題的機器是Mac並運行XAMPP。我認爲我們的實時暫存環境是CentOS(共享主機)。
從多臺機器訪問我的站點時$ _SERVER ['REMOTE_ADDR']始終解析爲空字符串。這可能是什麼原因?
附加信息: 其中一臺機器正在本地主機上運行該站點。本地主機上的機器不應該總是解析爲127.0.0.1?
我的設置是LAMP。一個開發者。運行站點本地主機,並有問題的機器是Mac並運行XAMPP。我認爲我們的實時暫存環境是CentOS(共享主機)。
我想這是由於缺少地址的反向委派而導致的。除非絕對必要,否則應避免反向分辨率。
它不僅在等待時間方面很昂貴,而且由於沒有要求解決什麼問題或者需要解決的問題,還可能產生意想不到的結果。
試着從這些機器上看看phpinfo(),看看它們是什麼。
我剛剛遇到了這個問題,事實證明,在運行我的代碼之前,PHP代碼明確地將它設置爲''
。這是因爲IPv6遠程地址與其僅限IPv4的正則表達式不匹配。
如果別人遇到同樣的問題,請留下此處,這對我來說很簡單。
有問題的模塊是simplemachinesforum。
什麼是web服務器軟件,以及哪個版本的PHP? – Alnitak 2009-04-17 10:18:23
添加了其他信息。 – Luke 2009-04-17 10:24:43
你在`REMOTE_ADDR`上做`gethostbyaddr()`查找嗎? – matpie 2009-04-17 17:34:34