2017-09-01 71 views
1

开发为WordPress本地,我想在表单验证实现的Akismet插件,但我需要从提交的IP地址,当我运行:如何在MAMP的本地主机上修改我的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行fr om Listen 8888Listen 127.0.0.1,我得到一个错误,Apache不会重新启动。我如何修改我的MAMP IP,以便我可以从$_SERVER['HTTP_USER_AGENT']获得适当的IP?

回答

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 。

相关问题