我的 Codeigniter 会话一经创建就会自动过期
Posted
技术标签:
【中文标题】我的 Codeigniter 会话一经创建就会自动过期【英文标题】:My Codeigniter session expires automatically as soon as it is created 【发布时间】:2019-12-05 06:44:39 【问题描述】:我的 codeigniter 登录会话有问题,会话一经创建就会自动过期,因此它会重定向回登录页面 不管登录信息是否真实。会话在它形成后立即自动销毁。这是我的配置页面。
//date_default_timezone_set("Europe/Istanbul");
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 86400;
//$config['sess_save_path'] = 'ci_sessions';
$config['sess_save_path'] = APPPATH . 'ci_sessions/';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_match_useragent'] = FALSE;
$config['cookie_prefix'] = '';
$config['cookie_domain'] = str_replace("http://","",str_replace("https://","", $config['base_url']));
$config['cookie_path'] = '/';
$config['cookie_secure'] = FALSE;
//$config['cookie_httponly'] = FALSE;
【问题讨论】:
它怎么会一被创建就被销毁呢?我会认为它不是一开始就被创造出来的。我会检查您的 sess_save_path 是否存在以及它是否具有正确的写入权限等。 你能告诉我们你的控制器代码在哪里创建会话吗? 哪个版本的codeigniter?登录脚本是否使用ajax?你/你如何验证会话变量被设置并随后被销毁? 【参考方案1】:请在您的配置文件中使用这些配置进行会话。
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 0;
$config['sess_save_path'] = sys_get_temp_dir();
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 600;
$config['sess_regenerate_destroy'] = FALSE;
【讨论】:
非常感谢...我真的很感激它,因为它工作得很好 @Kash Shafiique .. 请继续支持我的回答。以上是关于我的 Codeigniter 会话一经创建就会自动过期的主要内容,如果未能解决你的问题,请参考以下文章