1

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

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

提前致谢

4

1 回答 1

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

于 2013-10-04T21:30:15.410 回答