PHP官方给的session配置里,有个参数session.sid_length可以控制,要PHP7.1版本及以上。
而我的环境是PHP5.6,所以不能用上面的配置来实现。
我的具体实现步骤:
1.thinkphp3.2配置文件里增加配置(直接在配置里设置sessionid规则,人多时,易出现session重复的冲突,因为配置有缓存。)
'SESSION_OPTIONS' => [
'id' => 1
]
2.为了避免出现每次请求sessionid都改变的bug,通过修改核心文件ThinkPHP\Common\functions.php的session()方法,在相应地方修改如下
}elseif(isset($name['id']) && !cookie(session_name())) {
session_id(uniqid() . str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'));
}