【发布时间】:2017-11-09 02:31:08
【问题描述】:
我在 Codeigniter 中的会话超时时间少于我在“config/constants.php”文件中指定的时间。我将该常数设置为 3600 秒(一小时),但有时我会在 5 或 10 分钟内被踢出局。这发生在常规 MVC 调用中,不涉及 ajax。
我正在尝试访问 CI 会话中的 last_activity 值,但这是 CI 文档当前所说的:“last_activity:取决于存储,没有直接的方法。抱歉!”
那么我怎样才能访问这个值呢?有什么想法吗?
这里有一些附加信息:
`$config['sess_driver'] = '文件'; $config['sess_cookie_name'] = 'ci_session'; $config['sess_expiration'] = EXPIRE_SESSION; $config['sess_save_path'] = sys_get_temp_dir(); $config['sess_match_ip'] = 假; $config['sess_time_to_update'] = 86400; $config['sess_regenerate_destroy'] = FALSE;'【问题讨论】:
-
我不确定,但您可能无法在
config.php中获得您的常量值,请使用硬编码值尝试一次:3600 -
不确定这是什么 sys_get_temp_dir() 但保存路径类似于
APPPATH . 'cache/sessions/'; -
@kishor10d:感谢您的回复。执行“打印'
'.print_r($this->config,TRUE).'
';”告诉我实际上我可以在“config.php”中使用常量。使用值“3600”或“EXPIRE_SESSION”(也是 3600)完全相同。 -
@wolfgang1983:函数 sys_get_temp_dir 就像它所说的那样,它输出系统的临时文件目录。在我的情况下,它是“C:\Users\pedro\AppData\Local\Temp”,并且该位置确实有很多文件和文件夹,所以看起来它正在工作。
-
@PedroAraujoJorge 我不会使用我自己我会在某处使用应用程序目录中的文件夹。
标签: php codeigniter session timeout