如何在 MAMP 中修改本地主机上的 IP 地址?

How can I modify my IP address on my localhost in MAMP?

在本地为 WordPress 开发一个插件我想在表单验证中实现 Akismet,但是我需要一个 IP 地址来提交,当我 运行:

function check_ip_address() {
    if (isset($_SERVER['REMOTE_ADDR'])) :
        $ip_address = $_SERVER['REMOTE_ADDR'];
    else :
        $ip_address = "undefined";
    endif;
    return $ip_address;
}
echo check_ip_address();

我找回了一个::1。当我研究解决这个问题时,我没有找到可靠的答案:

在研究如何解决 ::1 时,我发现 Should a MAMP return ::1 as IP on localhost? 建议 sudo 为:

sudo vi /etc/apache2/httpd.conf

所以我转到 MAMP/conf/apache/httpd.conf 并尝试将第 48 行从 Listen 8888 修改为 Listen 127.0.0.1,但出现错误并且 Apache 不会重新启动。如何修改我的 MAMP IP,以便我可以从 $_SERVER['HTTP_USER_AGENT']?

获得正确的 IP

::1因为那是IPv6环回地址,相当于127.0.0.1,远程地址是你自己因为MAMP在本地运行,远程浏览器在同一台机器上.

REMOTE_ADDR代表请求来自的IP。在大多数情况下,这与浏览器计算机在开放互联网上的 IP 相同,但此处 MAMP 是 运行 Apache 本机的,因此它是 127.0.0.1::1。如果您使用的是 docker 容器或虚拟机,它将是配置 containers/VMs.

时指定范围内的私有 IP

因此,要检索您期望的 IP,您需要使用外部服务,或者,为了调试,向 Akismet 传递一个硬编码的 IP,但我怀疑它正在询问任何人的 IP评论。