php中session永不过期的方法
第一种方法:
打开php.ini设置文件,修改三行如下:【相关教程推荐:《php教程》】
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。
第二种方法:
当然也可能你没有控制服务器的权限不可以修改php.ini设置,当然就必须利用到客户端存储cookie了,把得到的sessionid存储到客户端的cookie里面,设置这个cookie的值,然后把这个值传递给session_id()这个函数,具体做法如下:
<?php 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的值 ?>
注意:在setcookie一行中的’phpsessid’并不是一定的,如果你遇到有个患有修改狂疾病的网管员,他可能对其做了修改,最好的方法是用phpinfo()这个函数看看,确认一下session.name一项的值,比较科学。
相关专题推荐:php session (包含图文、视频、案例)
以上就是怎么让php中的session永不过期?的详细内容。
