我正在開發一個PHP應用程序,它只能在本地的企業網絡上運行。應用程序將使用自定義安裝程序安裝到服務器,就像我們使用Stunnix高級Web服務器所做的一樣。如何獲取使用PHP的服務器的本地IP地址?
隨着使得應用更加人性化,我打算以顯示服務器的本地IP所以這是網絡中的其他計算機非常容易通過只是在輸入這個IP來訪問應用程序的一部分,其地址欄。
問題是我無法獲得服務器的本地IP的。
我已經試過
SERVER_NAME(只顯示127.0.0.1)
REMOTE_ADDR(客戶端顯示外部IP)
SERVER_ADDR顯示正確的IP,但它這樣做只是如果我從使用IP的客戶端訪問它,這完全違背了它的目的。
我只想顯示本地IP服務器直接從服務器通過http://localhost
本身訪問。
我有點確定這是不可能的。但如果是這樣,請幫忙。
編輯
我開發一個跨平臺的PHP服務器應用程序之類的話。我們將Apache,PHP安裝程序和SQlite數據庫作爲一鍵安裝程序與我們的PHP應用程序捆綁在一起,以儘可能方便用戶使用。任何人都可以在運行Windows,Mac或Linux的計算機上部署它。安裝完成後,當用戶在服務器上打開應用程序時,他可以看到的IP地址[local ip]和可用於連接到此服務器的端口。該應用程序只能在本地網絡上運行,而不能在互聯網上運行。
它應該顯示本地IP,就像名爲Air Droid的Android應用程序一樣。 截圖:https://lh3.ggpht.com/PmLopRm-Lj9WTnzm2MBI-bTbCLopAyqtd4C_4nvyDwLg8X0QwDbBbEREdWGHG5xku4s
感謝您的建議。這真的很有道理。如果服務器連接到2個網絡(例如連接到以太網和WiFi的筆記本電腦),我同意選擇正確的網絡和IP將非常不可靠。我沒有這樣想過。 順便說一句,讓用戶自己找到他的IP地址,使得應用程序不太適合n00b。 :( – ajaybc 2012-03-28 10:58:06
@ajaybc這就是DNS的用途......如果它都是本地的,你可以使用機器名稱訪問網絡,如果它通過互聯網,在你的IP上指向一個域/子域的A記錄;-) – DaveRandom 2012-03-28 11:05:13