我想弄清楚会话如何在Codeigniter中工作 . 阅读在线手册,我看到以下内容:
如果会话数据不存在(或者它已过期),将创建一个新会话并保存在cookie中 . 如果会话确实存在,则会更新其信息并更新cookie . 每次更新时,都会重新生成session_id .
和
注意:会话cookie默认每五分钟更新一次,以减少处理器负载 . 如果您反复重新加载页面,您会注意到“上次活动”时间仅在自上次写入cookie后经过五分钟或更长时间后才会更新 . 可以通过更改system / config / config.php文件中的$ config ['sess_time_to_update']行来配置此时间 .
Question :
-
如果在加载会话类的页面时存在会话,会更新哪些信息?这是会话ID存储在cookie中,还是会话数据本身存储在数据库中?
-
会话cookie仅每5分钟更新一次 . 如果用户在5分钟内从页面A转到页面B,这需要添加新的会话数据,该怎么办?逻辑上会话数据应该更新,所以我想我错误地理解了这一行...在这种情况下,我猜测会话cookie每5分钟获得一个新的会话ID .
任何澄清都会有所帮助!
1 回答
是的,是关于存储在cookie中的会话ID . 每5分钟重新生成一次 . 当需要重新生成时,首先它将获取当前会话数据,然后将其分配给新的会话ID .
CI会话库中的代码,函数sess_update():