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和会话_Php_Codeigniter_Session - Fatal编程技术网

Php 在线用户、CodeIgniter和会话

Php 在线用户、CodeIgniter和会话,php,codeigniter,session,Php,Codeigniter,Session,好的,我正在使用CodeIgniter作为我的MVC,用于一个项目,我正在和我的几个朋友一起工作。我们还使用CI的数据库会话支持。有了这一点,我知道“谁在线”的概念已经存在,但没有一个真正适用于我们的需求。我们推出的服务是一个类似SaaS的独立系统,但同时我们也允许用户彼此通信。有了这些,我们可以让他们与他们想要的人分享具体的信息,比如谁在何时何地在线等。。也就是说,我知道CI的会话会捕获IP,当用户登录时我们也会这样做 所以我想知道的是,我是否认为我可以利用会话数据,将会话数据库中的IP与登录

好的,我正在使用CodeIgniter作为我的MVC,用于一个项目,我正在和我的几个朋友一起工作。我们还使用CI的数据库会话支持。有了这一点,我知道“谁在线”的概念已经存在,但没有一个真正适用于我们的需求。我们推出的服务是一个类似SaaS的独立系统,但同时我们也允许用户彼此通信。有了这些,我们可以让他们与他们想要的人分享具体的信息,比如谁在何时何地在线等。。也就是说,我知道CI的会话会捕获IP,当用户登录时我们也会这样做

所以我想知道的是,我是否认为我可以利用会话数据,将会话数据库中的IP与登录的IP进行比较,在某种意义上建立我自己的小“谁在线”,专门针对通过我们的服务彼此“友好”的人。如果这是一个好的和潜在的想法,你们中的任何人都会建议如何处理它,并为这种类型的显示器处理它?我只是问,因为我不是100%通过CI的会话是如何工作的,所以我不确定它是否会像我目前想象的那样对我有利

然而,如果我的想象力正在流失,那么,有什么好办法来解决这个问题呢

编辑 登录2台计算机后,我发现DB中的CI会话有2台具有相同IP,因此我最初的思维模式似乎有缺陷


也谢谢你的否决票,不管你是谁,你至少可以在评论中说为什么,我很想知道如何实现这个想法,但我无法得到反馈?如果你知道这里有一篇文章或帖子可以帮我解决问题,那么至少告诉我这一点,因为我的搜索结果与我试图在这里解释的内容无关。

基本上,你想查看
\u ci\u sessions
表(或你的名字)对于
last_activity
列在当前时间的特定范围内(5分钟、10分钟等)的记录。使用HTTP,没有很好的方法知道某人放弃会话的确切时间(除非他们明确注销,并且您自己销毁会话)。你可以用插座来做,但对于这样的东西来说,这通常是多余的

在获得“潜在”会话列表后,您仍然需要循环每个会话(记住取消序列化
user\u data
列!)以查找具有正确的userdata键/值的会话,从而根据您的身份验证系统构成“登录”。我这样做首先是为了获得概念证明,然后找到一种方法在几个请求之间缓存结果,因为它不是请求级别的精确结果,所以在每个请求上都没有额外负载的情况下,您会做得更好