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

时间:2017-09-01 16:36:26

标签: wordpress ip mamp akismet

在本地为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 个答案:

答案 0 :(得分:1)

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

REMOTE_ADDR表示请求来自的IP。在大多数情况下,这与浏览器机器在开放互联网上的IP相同,但是MAMP在本地运行Apache,因此它是127.0.0.1::1。如果您使用的是docker容器或虚拟机,则在配置容器/ VM时,它将是指定范围内的专用IP。

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