config.php配置

$config['sess_driver'] = 'files';//以文件存储session
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = APPPATH.'/data/session'; //配置session路径
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = true;
登录的时候可以看到路径 system/data/session/下文件已生成

然而却登录失败,查出原因

system/libraries/Session/Session.php

一直走unset 

如果sessionid的长度不是40的话,每次执行都会 unset($_COOKIE[ci_session])。而session_id取值范围和长度在php7中变了(我这边的默认是ad_username  11)

解决办法:

将上面的/^[0-9a-f]{40}$/, 改成 /^[0-9a-z]{10,40}$/ 即可登录

 

 

posted on 2017-09-28 16:34  程序小院  阅读(426)  评论(0编辑  收藏  举报