电容中设置session永不过期中国社
欢迎进入Linux社区论坛,与200万技术人员互动交流 >>进入
电容中设置session永不过期中国社:
让PHP的session永不过期,其实很简单,只需修改系统环境配置,打开电容.ini设置文件,修改三行如下:
1、session.use_cookies
把这个的值设置为1,利用cookie来传递sessionid
2、session.cookie_lifetime
这个代表SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废,就是因为这个数值所以PHP的 session不能永久使用! 那么我们把它设置为一个我们认为很大的数字吧,如:999999999.
3、session.gc_maxlifetime
这个是Session数据在服务器端储存的时间,如果超过这个时间,那么Session数据就自动删除! 那么我们也把它设置为如:99999999.
就这样一切ok了,当然你不相信的话就测试一下看看--设置一个session值过个10天半个月的回来看看,如果你的电脑没有断电或者宕机,你仍 然可以看见这个sessionid.
当然也可能你没有控制服务器的权限并不能像我一样幸运的可以修改电容.ini设置,一切依靠我们自己也是有办法的,当然就必须利用到客户端存储 cookie了,把得到的sessionID存储到客户端的cookie里面,设置这个cookie的值,然后把这个值传递给session_id()这 个函数,具体做法如下:
<?电容
session_start(); // 启动Session
$_SESSION['count']; // 注册Session变量Count
isset($PHPSESSID)?session_id($PHPSESSID):$PHPSESSID = session_id();
// 如果设置了$PHPSESSID,就将SessionID赋值为$PHPSESSID,否则生成SessionID
$_SESSION['count']++; // 变量count加1
setcookie(‘PHPSESSID', $PHPSESSID, time()+3156000); // 储存SessionID到Cookie中
echo $count; // 显示Session变量count的值
?>
如果很久以后你回来刷新这个页面,输出的数字比你走的时候大了1那就对了!如果大了很多,估计是谁动你电脑了,这次测试就不准 确了!
注意:在setcookie一行中的'PHPSESSID’并不是一定的,如果你遇到有个患有修改狂疾病的网管员,他可能对其做了 修改,最好中国社是用电容info()这个函数看看,确认一下session.name一项的值,比较科学。
height=14 src="/wp-content/uploads/20121120/2007090.gif" width=14
border=0>
【责编:ivy】