Mil*_*uzz 33 php sql-server localhost
我需要检索用户的IP.我的localhost将::1作为IP 返回.我很好奇,如果这是预期的行为?我在Snow Leopard上运行MAMP.
Bil*_*ell 38
同样的问题,并找到了有效的解决方案,经过测试,运行良好.我想拥有ip addy - 127.0.0.1,而不是必须接受:: 1并讨论整个IPv4/6问题.所以,我拖了一会儿,看到了由@Brad做出的2008年评论 - 这里:http://board.issociate.de/thread/489575/SERVERquotREMOTEADDRquot-returning-1.html
总结 - (在Mac OS上 - 特别是Mountain Lion)
sudo vi /etc/apache2/httpd.conf
找到你的apache'听'到ips/ports等的地方......通常这将是一条看起来像这样的线
Listen 80
看起来像这样:
Listen 127.0.0.1:80
重新保存.重启Apache.瞧!
现在$_SERVER[REMOTE_ADDR]看起来像这样127.0.0.1.
希望它可以帮助某人.
Tom*_*zyk 31
::1是IPv6等价的IPv4 127.0.0.1地址.
您可以使用inet_ntop()作为Adam的功能将IPv6地址转换为IPv4地址.
http://php.net/manual/en/function.inet-ntop.php
修改/etc/apache2/httpd.conf甚至/private/etc/hosts不是解决方案.它返回:: 1,因为它是旧的(但是金色的)IPv4的IPv6 127.0.0.1.正如它所定义的那样/privates/etc/hosts,无论何时访问http://localhost它都假设为IPv6 :: 1.所以这是预期的行为.
解决方法是http://127.0.0.1直接访问.它会工作得很好.但请记住,IPv6可用性正在增加.您可以确保您的服务器(部署后)仅响应IPv4,但在中期,如果您的站点/ Web应用程序无法正确处理IPv4和IPv6,则很有可能在两年内出现问题.或者更早,我们永远不会知道.
| 归档时间: |
|
| 查看次数: |
38642 次 |
| 最近记录: |