我是 codeigniter 框架的新手。我遇到页面会话超时问题。
现在我已经启用了 ip 匹配、用户代理匹配,但不起作用。
我尝试过的另一种方法是更新 2.1.4 库文件并将其复制到我的系统中
文件夹但这也不起作用。
请帮助我解决会话超时问题。我使用了以下代码
配置->config.php。
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 10;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 10;
我需要增加会话超时时间,但现在我需要检查会话时间
是否有效。如果这 10 秒的会话时间有效,那么我可以
增加会话时间。
预先感谢请帮助我。
最后我找到了问题的解决方案。
以下方法可以增加或减少会话超时。
1.
ini_set('session.gc_maxlifetime', 60);
config->config.php
$config['sess_expiration'] = ''; //in seconds.
2.
$config['sess_time_to_update'] = '' ;//in seconds (as same in sess_expiration seconds)
3.如果您正在检查登录控制器和所有控制器的会话数据
$_SESSION['data'] == 'your login id or role or something
.这并不是使会话数据过期。但我们需要检查检查$this->session->
userdata('your id or data need to check')
在登录成功之前,需要
将值分配给会话:$this->session->set_userdata('your id or something');
在检查时session = $this->session->userdata()
为空或零需要session_destory()
然后需要重定向到您的主页。
另一种增加方法:
- 如果您的网站运行在 apache2 中并且只有一个网站意味着我们可以直接提及
session_gc_maxtime。
我尝试过这两种方法,并找到了会话超时的解决方案。它对我来说效果很好。
谢谢大家。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)