如何在php上获得价值127.0.0.1而不是::1

Posted

技术标签:

【中文标题】如何在php上获得价值127.0.0.1而不是::1【英文标题】:How to get value 127.0.0.1 rather than ::1 on php 【发布时间】:2013-04-18 21:21:43 【问题描述】:

我想在执行 $_SERVER['REMOTE_ADDR'] 时获得值 127.0.0.1。 而是得到 127.0.0.1。我得到价值::1。任何人都可以帮助我如何获得该价值?将其用于日志活动。

【问题讨论】:

【参考方案1】:

::1 是一个 IPv6 地址,是 0:0:0:0:0:0:0:1 的缩写,它是本地机器的环回地址。所以 ::1 仅通过 IPv6 而不是 IPv4 与 127.0.0.1 相同。

如果您真的只想要 IPv4,请尝试在您的 apache 配置中禁用 IPv6 连接:

Listen 0.0.0.0:80
Listen 192.170.2.1:80

你可以找到详细的解决方案here

【讨论】:

嗯,我明白了。那么我无法获得价值 127.0.0.1?我想将其保存在数据库中,然后将其显示在日志活动页面中。使用 127.0.0.1 在日志活动页面中显示优于显示 ::1 或者我必须得到 IPv$ 而不是 IPv6? 您可以查看我添加的链接和答案。您只需要更改 .conf 设置并重新启动服务器。 转到终端并输入 sudo vi /etc/apache2/httpd.conf 然后更改配置 我正在查看 httpd.conf,然后用 notepad++ 打开。终端=命令提示符你是什么意思?因为当我在 cmd 中键入时不起作用

以上是关于如何在php上获得价值127.0.0.1而不是::1的主要内容,如果未能解决你的问题,请参考以下文章

IIS 只监听 127.0.0.1 而不是 0.0.0.0

java InetAddress.getLocalHost();返回 127.0.0.1 ...如何获得真实 IP?

如何使用 PHP 获取基本 URL?

如何在 nginx 上使用 404 拒绝

在没有端口号的 MAC 上运行 XAMPP

如何在 xampp 上设置 FTP