//让PHP使用我们自定义的session_id
if(isset($GET['ssid'])){
$ssid = $GET['ssid'];
}else{
$ssid = 'my',uniqid();
}
//生成一个唯一的id值
session_id($ssid);
session_start();
//如果客户端禁用了cookie,可以使用URL来传递session_id()会话ID
$_SESSION['jess'] = 'jess';
***Session的垃圾回收机制
Session的回收是要删文件的,这个概率是根据php.ini的session.gc_probability配置决定的,如果值是0,这也就是说概率是0,此时我们必须自己通过cron脚本来实现垃圾回收.
session.gc_probability = 1 //session回收概率计算分子
session.gc_divisor = 1000 //session回收概率计算分母
session.gc_maxlifetime =1440 //过期时间 默认24分钟
session.savepath = //session保存的目录,如果值是"N;/path" 这是随机分级存储,这个样的话,垃圾回收将不起作用,需要自己写脚本删除.
***自定义Session
php.ini配置: session.save_handler = user
用户自定义session处理机制,更加直观.需要使用到处理函数
session_set_save_handler('_open','_close','_read','_write','_destroy','_gc');
用户自己实现_open _close _read _write _destroy _gc 这几个函数,达到主动接管session的一个目的.
session_start(); //这也是必须的,打开session 必须在session_set_save_handler后面执行
网友评论