session原理:
Session储存在服务器端,根据客户端提供的SessionID来得到这个用户的文件,然后读取文件,取得变量的值,SessionID可以使用客户端的Cookie或者Query_String,hidden field等来传送给服务器
生存期:
默认情况下,sessionID采用cookie传递,其生存期是浏览器进程(关闭浏览即消亡),可采用如下方法改变:
1)修改php.ini的相关参数
session.cookie_lifetime:SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废
session.gc_maxlifetime:这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除!
注意:seeesion.cookie_lefetime可以在运行时使用ini_set更改,session.gc.maxlifetime不可以
2)程序中设定SessionID的生存值
if(isset($_COOKIE['PHPSESSID'])) {
session_id($_COOKIE['PHPSESSID']);
} // 已有sessionid,就给SessionID赋值
setcookie('PHPSESSID', session_id(), time()+3156000);
sessionid的名称在php.ini的session.name中设定,一般为PHPSESSID;
阅读(2152) | 评论(0) | 转发(0) |