CodeIgniter会话与cookie

时间:2013-10-04 21:24:41

标签: php codeigniter

我有一个正在CodeIgniter中开发的应用程序。但我遇到会话管理问题。默认情况下,CodeIgniter中的会话保存在访问者的计算机上,这意味着它们可以持续大约两个小时而不会在关闭操作上被删除(访问者关闭浏览器);虽然我们所有人都知道,只要浏览器运行,PHP就会保持会话,并且当用户关闭它时,它会终止它。

我的问题:我喜欢CI会话风格,但出于某些特定目的,在某些情况下我需要PHP会话风格(在浏览器关闭时被删除)。 CI为我提供了这样的选项,但我不想在浏览器关闭时删除所有会话。我只需要在浏览器关闭时删除两个或三个会话值。对于必须在浏览器关闭时删除会话的实例,我应该使用返回PHP纯会话吗?或者CI有一些选项可以自定义单个版本的会话的生命周期吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

您可以在文件application / config / config.php中更改/设置sess_expiration配置变量的值 - 默认值为7200秒(2小时)。将其设置为零以永不过期。另一个有用的变量是sess_expire_on_close。更多详情请见http://ellislab.com/codeigniter/user-guide/libraries/sessions.html

如果要跨不同类型的会话进行自定义,可以基于CI代码创建自己的Session类,可以创建新类或扩展类CI_Session,只需从不同的配置变量集中读取它。 https://github.com/EllisLab/CodeIgniter/blob/develop/system/libraries/Session/Session.php