在PHP中获取本地机器IP地址[重复]
Posted
技术标签:
【中文标题】在PHP中获取本地机器IP地址[重复]【英文标题】:Get Local Machine IP Address in PHP [duplicate] 【发布时间】:2017-02-02 16:35:08 【问题描述】:我希望获取特定设备必须在其上运行的本地机器 IP 地址。要运行该页面,我首先检查本地 IP 地址是否与指定的 IP 地址匹配,然后才会打开该页面。我正在用 php 编程。
我尝试过 $_SERVER 和 getenv,但它们提供的地址与我的计算机的 IP 地址不匹配。此外,每次连接刷新时它们都会改变。
请帮忙。
【问题讨论】:
您想要client 计算机(浏览器运行的地方)还是server 计算机(PHP 程序实际运行的地方)的地址?请记住,在大多数情况下,PHP 是一种服务器 端编程语言。 我想要客户端计算机的地址。我想检查是我的电脑,还是指定人的电脑,才可以打开页面。 这不是很好的安全性。如果您使用的是分配给您的地址不是静态和固定的宽带订阅,这也可能是不可能的。$localIPAddress = getHostByName(getHostName());
试试这个
客户端计算机(您的计算机)是否与服务器在同一个本地网络上?或者是通过互联网连接的客户端计算机。对于本地网络上的两者,您需要告诉路由器始终为每台计算机分配相同的 IP 地址。为此,您可以在路由器管理页面中按 MAC 地址分配 IP。这样,您的计算机和服务器将始终具有相同的 IP 地址。现在,如果您的客户通过互联网连接?那是另一个故事......还有更多的工作:)
【参考方案1】:
您可以使用$_SERVER['REMOTE_ADDR']
或$_SERVER['REMOTE_HOST']
变量找到IP 地址。
或者你也可以试试:
来自 CLI
PHP
$myIp= getHostByName(php_uname('n'));
echo $myIp;
PHP >= 5.3.0
$myIp = getHostByName(getHostName());
echo $myIp;
对于客户端 IP 地址,您可以点击以下链接: 来源:Get the client IP address using PHP
【讨论】:
以上是关于在PHP中获取本地机器IP地址[重复]的主要内容,如果未能解决你的问题,请参考以下文章