【问题标题】:how to keep the session when browser closed in codeigniter3?在codeigniter 3中关闭浏览器时如何保持会话?
【发布时间】:2015-10-20 14:52:32
【问题描述】:

目前我正在使用我将会话驱动程序存储在数据库中的 codeigniter3。
会话不应在浏览器关闭时销毁。
只有当用户单击注销按钮时,会话才会被破坏。
如何在codeigniter3中实现?

请给我任何解决方案。

这是我的配置文件

$config['sess_driver'] = 'database';
$config['sess_use_database']    = TRUE;
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 0;
$config['sess_regenerate_destroy'] = FALSE;

在以前的版本中,Codeigniter 在配置文件中有sess_expire_on_close,但现在他们已将其删除。 https://codeigniter.com/user_guide/libraries/sessions.html

【问题讨论】:

  • 您还在加载/自动加载session 库吗?你的encryption_key 是否设置在 config.php?

标签: php mysql codeigniter


【解决方案1】:

将此行添加到您的.htaccess 文件中,

php_value session.gc_maxlifetime 10000 //10000 is in seconds. You can change it.

或在配置文件中,

$config['sess_expiration'] = 10000;// this is in seconds.

【讨论】:

  • 根据codeigniter3 sess_expire_on_close 不再使用
  • 对不起,我还是用codeigniter2.X 只是增加会话过期时间。
  • 我会放置 86,400 秒,以确保至少持续一个活跃的一天,因为 CI3 没有在浏览器由于整个库所做的更改而不会过期的配置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-28
相关资源
最近更新 更多