首页 文章

在codeigniter中登录后,会话在刷新时到期

提问于
浏览
1

我在配置文件中添加以下内容:

$config['sess_cookie_name']     = 'ci_session';

$config['sess_expiration']      = 0;

$config['sess_expire_on_close'] = FALSE;

$config['sess_encrypt_cookie']  = FALSE;

$config['sess_use_database']    = FALSE;

$config['sess_table_name']      = 'ci_sessions';

$config['sess_match_ip']        = FALSE;

$config['sess_match_useragent'] = FALSE;

$config['sess_time_to_update']  = 86400;

我正在使用codeigniter框架 .

在登录页面中,我在会话中存储用户名,登录会话用户名加载后,一旦刷新页面名称已经消失 .

可能是什么问题?我延长了会话到期时间,但一切都没有用 .

2 回答

  • 0

    尝试这些设置,以下是为我工作,

    $config['sess_cookie_name'] = 'ci_session';
    $config['sess_expiration'] = 60*60*24;
    $config['sess_save_path'] = 'ci_sessions';
    $config['sess_match_ip'] = FALSE;
    $config['sess_time_to_update'] = 300;
    $config['sess_regenerate_destroy'] = FALSE;
    

    你已经设置了 $config['sess_expiration'] = 0; ,这意味着它不会持续一秒钟

    你错过了这个 $config['sess_regenerate_destroy'] = FALSE;

  • 0

    我之前遇到过这个问题并且我在会话中使用了数据库所以当我使用它时,我应该为 $config['sess_cookie_name'] = ''; 设置为空

    现在我想如果你定了

    $config['sess_table_name'] = '';

    你的问题解决了 .

    这是我的代码

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

相关问题