【问题标题】:Why codeigniter session expires frequently ? also user is active on site为什么codeigniter会话经常过期?用户在现场也很活跃
【发布时间】:2014-01-24 03:55:26
【问题描述】:

我正在为我的应用程序使用 codeigniter。发展。

这些是会话设置。我正在使用数据库会话。

$config['sess_cookie_name']= 'ci_session';
$config['sess_expiration']= 7200;
$config['sess_encrypt_cookie']  = FALSE;
$config['sess_use_database']    = TRUE;
$config['sess_table_name']= 'ci_sessions';
$config['sess_match_ip']= FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update']  = 300;

我没有使用 AJAX 或动态资源加载会话库。 我还检查了会话数据,所有数据都保存在数据库中。

这在本地主机上运行良好。

【问题讨论】:

  • 该 cookie 名称在技术上是无效的 - 大多数浏览器无论如何都接受它,但如果您使用 Internet Explorer 9,它将拒绝注册名称中带有下划线的会话,而不是告诉您,它只会默默地失败。
  • 我现在只使用 crome , mozilla 吗?

标签: php codeigniter session


【解决方案1】:

默认情况下,它每 2 小时 (7200) 过期一次,但在某些情况下检查您的应用程序中是否会销毁会话。 如果您想增加小时数,请在 $config['sess_expiration'] 中写入大于 7200 的数字。 示例:

$config['sess_expiration']= 18000; //5 hours

如果您希望会话不会过期,请写:

$config['sess_expiration']= 0;

【讨论】:

  • 我已经设置为$config['sess_expiration']= 7200;,但在 7200 秒之前,会话频繁到期。为什么?我还检查了设置,例如-$config['sess_expiration']= 0;
  • 看这个链接:ellislab.com/forums/viewthread/153084/#741225@ChandanSroniyan
  • 这个对我来说不可用...给另一个解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-30
  • 2016-05-27
  • 2011-10-17
  • 2022-10-13
  • 2011-07-26
  • 2011-07-14
  • 2014-05-19
相关资源
最近更新 更多