Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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会话匹配IP_Php_Database_Codeigniter_Session - Fatal编程技术网

Php Codeigniter会话匹配IP

Php Codeigniter会话匹配IP,php,database,codeigniter,session,Php,Database,Codeigniter,Session,我想知道与使用与用户IP匹配的会话有关的主要问题是什么 我是否理解这将使会话表变得更小,因为如果发现ip,会话将从相同的db字段重新生成,或者我错了 我的缺点是,站点上有许多用户,这将产生许多会话表字段,而没有将ip匹配参数设置为TRUE,因为如果会话与用户ip不匹配,则会为用户会话使用一个新的db字段,这是真的吗 这是一个示例,展示了我认为我从会话db表中学到的知识: $config['session_match_ip'] = false; 3000000 users on site = 3

我想知道与使用与用户IP匹配的会话有关的主要问题是什么

我是否理解这将使会话表变得更小,因为如果发现ip,会话将从相同的db字段重新生成,或者我错了

我的缺点是,站点上有许多用户,这将产生许多会话表字段,而没有将ip匹配参数设置为TRUE,因为如果会话与用户ip不匹配,则会为用户会话使用一个新的db字段,这是真的吗

这是一个示例,展示了我认为我从会话db表中学到的知识:

$config['session_match_ip'] = false;

3000000 users on site = 3000000 session db records.
3000000 users returns on site = 6000000 session db records. (cause everytime user is a NEW USER)

$config['session_match_ip'] = true;

3000000 users on site = 3000000 session db records.
3000000 users returns on site = 4500000 session db records. (cause ,maybe, 1500 users uses static IP)
这个逻辑正确吗

谢谢。


这一个可能有所不同,但比在数据库中为会话创建db字段有用得多。当然,如果您选择使用
$config['session\u match\u ip']
设置为
false
,您的数据库中将有更多记录。然而,如果您检查,您将看到codeigniter在过期会话上进行垃圾收集,这将使您能够控制事情

注意:会话类具有内置的垃圾收集功能,用于清除 退出过期的会话,这样您就不需要编写自己的例程了 去做吧。”


好的,但是抱歉和我的要求无关!您面临什么问题?没有问题,我想知道sess匹配用户ip是否会生成更小的db会话表。如果您所指的是性能,那么6000条记录就不算什么了。我不知道codeigniter会话表是如何工作的,但是,必须有一个垃圾收集器。即使它不存在,也可以使用cron作业。这就是它应该是的样子。现在将深入研究codeigniter会话类,让我们看看它提供了什么。我非常确定codeigniter对较旧的会话数据进行垃圾收集。请查看:
“注意:会话类具有内置垃圾收集功能,可以清除过期的会话,因此您无需编写自己的例程来执行此操作。”