【发布时间】:2015-04-07 18:38:21
【问题描述】:
我最近更新到 CodeIgniter 3,遵循本指南: CI3: upgrade 3.0 from 2.2.1.
我在 application/config/config.php 文件中设置了这个配置:
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session_my_site';
$config['sess_expiration'] = 604800; // 1 week
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
这里有什么问题吗?几个小时后我的会话被破坏了......
【问题讨论】:
-
您正在为会话驱动程序使用文件,但您将路径设置为空?还有,你说几个小时,是不是有可能是 5 小时(5 小时换算成 300 分钟)?
-
我不确定时间(有没有办法确切知道?)。我应该为路径设置一个值吗?我以为它只是用于存储在数据库中的会话。
-
查看您的链接。它说如果你想使用'files'你必须设置sess_save_path,所以它不能为null
-
他们没有给出任何例子还是我错了?它是这样写的:“设置一个 $config['sess_save_path'] 值。对于 'database' 驱动程序,回退到 $config['sess_table_name'] 已经到位,但否则需要您阅读特定驱动程序的手册选择。”我只是不明白我应该在这个变量中写什么。你能给我一些例子吗?
-
@Maxime 谢谢!你是对的,cookie不再有效,因为我使用数据库,codeigniter切换到数据库驱动程序,因为cookie不存在。这是我在这里犯的一个可怕的复制/粘贴错误。另外,我的意思是,codeigniter 的会话存储用户上次活动的时间戳。框架使用此信息计算每个 $config['sess_time_to_update'] 新的过期时间。
标签: php codeigniter session