如何在codeigniter 3中设置会话不会在浏览器关闭时到期?

时间:2015-11-25 07:12:59

标签: php codeigniter-3

我想在codeigniter版本3中设置会话,而不是在浏览器关闭时到期。会议应永远保留。当用户单击注销按钮时,会话会被破坏。在以前的版本中,codeigniter使用了名为“$ config ['sess_expire_on_close'] = FALSE的变量;”但是现在在codeigniter版本3中我们没有那个。如何在config中设置或创建自定义核心控制器来扩展会话。

$config['sess_driver'] = 'database';
 $config['sess_use_database']   = TRUE;
$config['sess_cookie_name'] = 'ci_session';
 $config['sess_expiration'] = 60*60*24*180;
$config['sess_save_path'] = 'ci_sessions';
 $config['sess_match_ip'] = FALSE;
 $config['sess_time_to_update'] = 0;
  $config['sess_regenerate_destroy'] = FALSE;
      $config['cookie_prefix']  = '';
   $config['cookie_domain'] = '';
 $config['cookie_path']     = '/';
    $config['cookie_secure']    = FALSE;
   $config['cookie_httponly']   = FALSE;

2 个答案:

答案 0 :(得分:0)

我的答案与codeigniter无关 您可能希望通过ini设置会话生存期

ini_set('session.gc_maxlifetime', 3600 * 2); //two hours
session_set_cookie_params(3600 * 2);
session_start();

还可以看一下如何将它与CG Codeigniter increase session time out not working

结合起来

<强>更新 您可以通过htaccessVirtualHost

设置ini变量

答案 1 :(得分:0)

\Illuminate\Http\Request::ajax();

设置为0(零)表示浏览器关闭时到期。

来源: config.php(〜第335行)