我正在开发一个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