Codeigniter 2 $ this-> ip_address()没有返回ip地址

时间:2012-09-09 13:30:02

标签: php codeigniter

好吧,我正在尝试记录用户登录历史记录,因此我需要跟踪用户的IP地址。 我用过:

$this->input->ip_address();

如果用户具有有效的IP,则应返回机器的ip address,如果用户没有有效的IP,则应返回0.0.0.0。但就我而言,它既没有返回。

它只返回一种不寻常的格式。

::1

P.S。我在我的本地电脑上查看它。

编辑:

感谢所有评论的人。但是这里仍有奇怪的事情发生。我有两个独立的应用程序在同一台机器上运行。这两个应用程序都是在Codeigniter 2中创建的。第一个应用程序记录0.0.0.0,第二个记录::1。两个应用程序都应该返回同样的东西吗?

由于

2 个答案:

答案 0 :(得分:6)

::1 是有效的IP地址。

http://en.wikipedia.org/wiki/IPv6

答案 1 :(得分:1)

可能值得检查主机文件中是否存在:: 1,并将其注释掉以查看两个应用程序的行为是否相同。

此主题包含一些有用的信息:http://codeigniter.com/forums/viewthread/205222

特别是

  

所以你的机器正在运行双栈(现在大多数现代操作系统都在这样做),当他们这样做时,他们更喜欢IPv6 over IPv4。

     

从本地主机界面删除IPv6,从本地网络服务器删除IPv6支持(让它只听你的v4地址),[snipped]