Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter 2$此->;ip_address()不返回ip地址_Php_Codeigniter - Fatal编程技术网

Php Codeigniter 2$此->;ip_address()不返回ip地址

Php Codeigniter 2$此->;ip_address()不返回ip地址,php,codeigniter,Php,Codeigniter,嗯,我正在尝试记录用户登录历史,所以为此我需要跟踪用户的ip地址。 我用过: 如果用户拥有有效ip,则应返回机器的ip地址,如果用户没有有效ip,则应返回0.0.0。但在我的情况下,两者都不会回来 它返回的只是一种不同寻常的格式 ::1 另外,我正在本地电脑上查 编辑: 谢谢所有评论的人。但这里发生的事情还是很奇怪。我有两个独立的应用程序在同一台机器上运行。这两种应用都是在Codeigniter 2中进行的。第一个记录0.0.0.0,第二个记录::1。不是两个应用程序都应该返回相同的内容吗 谢

嗯,我正在尝试记录用户登录历史,所以为此我需要跟踪用户的ip地址。 我用过:

如果用户拥有有效ip,则应返回机器的
ip地址
,如果用户没有有效ip,则应返回
0.0.0
。但在我的情况下,两者都不会回来

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

::1
另外,我正在本地电脑上查

编辑:

谢谢所有评论的人。但这里发生的事情还是很奇怪。我有两个独立的应用程序在同一台机器上运行。这两种应用都是在Codeigniter 2中进行的。第一个记录
0.0.0.0
,第二个记录
::1
。不是两个应用程序都应该返回相同的内容吗


谢谢:1是一个有效的IP地址


可能需要检查主机文件中是否存在::1,并对其进行注释,以查看两个应用程序的行为是否相同

此线程包含一些有用的信息:

特别是

因此,您的机器正在运行双堆栈(现在大多数现代操作系统都在这样做),当它们运行时,它们更喜欢IPv6而不是IPv4

从本地主机接口中删除IPv6,从本地Web服务器中删除IPv6支持(让它只侦听您的v4地址),[snipped]


这是一个有效的IPv6地址:1表示相当于IPv4 127.0.0.1的本地主机。顺便说一句:@gearsdigital,谢谢,伙计,请检查编辑我的问题“返回当前用户的IP地址。如果IP地址无效,函数将返回IP:0.0.0”。你可能想用$this->input->valid_ip($ip)检查一下,你运行的是完全相同版本的CodeIgniter吗?在同一台服务器上?从同一接口进行测试?油井应用程序不同,但codeigniter核心模块的版本相同。我用同样的方式运行它machine@Sabin因为它是两个不同的应用程序,所以必须与应用程序相关。恐怕我帮不了你什么忙。
::1