转载地址 http://blog.csdn.net/u010433704/article/details/52785136
中午到了公司 发现网站发现定时检测登录状态的js 一直弹出账户退出的提示, 随后锁定是$_SESSION 没有取到数据的问题, 检查了php session配置没人改动,
最后折腾下了 , 配置的是db
解决方法:
第一点:
找到functions.php文件,目录: /Thinkphp/Common/functions.php
修改function session:
找到 if(isset($name['expire'])) ini_set('session.gc_maxlifetime', $name['expire']);
修改为
if(isset($name['expire'])){
ini_set('session.gc_maxlifetime', $name['expire']);
ini_set('session.cookie_lifetime', $name['expire']);
}
完成。
第二点:
'SESSION_TABLE'=>'crs_system_session', // session 表 注意修改前缀
'SESSION_OPTIONS' => array(
'type' => 'db',
'type' => 'db',
'expire' => 24*3600*15, //SESSION保存15天
'use_trans_sid' => 1, //跨页传递
'use_only_cookies' => 0, //是否只开启基于cookies的session的会话方式
),
第三点:
查看上面建立的数据表对不对
/** * 数据库方式Session驱动 * CREATE TABLE think_session ( * session_id varchar(255) NOT NULL, * session_expire int(11) NOT NULL, * session_data blob, * UNIQUE KEY `session_id` (`session_id`) * ); */