【问题标题】:How can I increase session time in codeigniter?如何增加 codeigniter 中的会话时间?
【发布时间】:2019-01-03 13:52:21
【问题描述】:

我是 codeigniter 的新手。我想更改 $config['sess_expiration'] 默认值,但是当我将 sess_expiration 值设置为另一个值时不起作用。例如,我将其值设置为 2,并且我认为会话将​​在 2 秒后过期,但事实并非如此。我尝试了许多可用的修复程序,但我无法得到任何结果。我的配置设置为:

 $config['sess_driver'] = 'files';
 $config['sess_cookie_name'] = 'ci_session';
 $config['sess_expiration'] = 7200;
 $config['sess_save_path'] = NULL;
 $config['sess_match_ip'] = FALSE;
 $config['sess_time_to_update'] = 300;
 $config['sess_regenerate_destroy'] = FALSE;

我认为不需要 ci_sessions 表,因为我没有在我的配置设置中使用 sess_use_database。我该怎么办?

编辑:

我的 codeigniter 版本 3.1.0。据我所知,这个版本的会话库不包含 sess_read() 或 sess_update() 方法或 sess_expiration 类变量。

【问题讨论】:

  • '$config['sess_save_path']' 必须是绝对路径。不能为空。
  • 我为 '$config['sess_save_path']' 设置了 ci_sessions 文件夹。我将 '$config['sess_save_path']' 设置为: $config['sess_save_path'] = APPPATH 。 'ci_sessions/';但我无法得到我想要的结果。 @DFriend
  • 我想我使用的是旧的会话库。因为我的会话库不包含推荐的解决方案的 sess_read() 和 sess_update() 方法。 @H45H
  • 顺便说一句,我在会话库中的 codeigniter 最新版本中看不到 sess_read() 和 sess_update() 方法。 @H45H

标签: codeigniter session session-timeout expired-sessions


【解决方案1】:

我认为它是从缓存或其他地方加载的。

所以在设置会话时尝试设置时间 在哪里设置会话调用配置并更改它

$this->session->sess_expiration = 60; // 1-min

然后设置你的用户数据

$this->session->set_userdata(' whatever you want ');

【讨论】:

    猜你喜欢
    • 2023-03-19
    • 2011-07-11
    • 2018-04-06
    • 1970-01-01
    • 2014-11-23
    • 2014-03-26
    • 2023-03-18
    • 2016-03-02
    • 2019-09-27
    相关资源
    最近更新 更多