Session(下)

//让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后面执行

你可能感兴趣的:(Session(下))