会话的怎么在php中设置有效期

  介绍

这篇文章将为大家详细讲解有关怎么在php中设置会话的有效期,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

打开php。ini,查找会议设置部分中以下一项,代码如下:

session.save_path =,“N;/path",   时间=session.save_path “C:/Temp"#此处以你自己设定的路径为准

,这项设置提供给我们可以给会话存放目录进行多级散列,其中“N”表示要设置的目录级数,后面的"/路径”表示会话文件存放的根目录路径,比如我们设置为下面的格式,代码如下:

session.save_path =,“2; C:/Temp"

上面的设置表示我们把php会话的文件进行两级目录存储,每一级目录分别是0 - 9和a - z共36个字母数字为目录名,这样存放会话的目录可以达到36 * 36个,共1332个文件夹,相信作为单台服务器来说,这是完全够用了,如果说您的系统架构设计为多台服务器共享会话数据,可以把目录级增加到3级或者更多。

<强>会话过期时间设定

继续php中的会话话题,在php中主要通过设置会话。gc_maxlifetime来设定会话的生存周期,例如如下代码:

& lt; ? php    报错(& # 39;session.gc_maxlifetime& # 39;,, 3600),,//设置时间,   ini_get (& # 39; session.gc_maxlifetime& # 39;);//得到ini中设定值,   祝辞;

下面提供一个别人封装好的函数,但是我没有测试过,仅供参考,代码如下:

& lt; ? php    function  start_session (expire 美元;=,0),   {,   ,if  (expire 美元;==,0),{,   ,expire 美元;=,ini_get (& # 39; session.gc_maxlifetime& # 39;),,   {}大敌;else    ,报错(& # 39;session.gc_maxlifetime& # 39;,,到期美元),,   }大敌;   ,if  (emptyempty ($ _COOKIE [& # 39; phpsessid # 39;])), {,   ,session_set_cookie_params(美元到期),,   ,session_start (),,   {}大敌;else    ,session_start (),,   ,setcookie (& # 39; phpsessid # 39;,, session_id(),(),时间+,到期美元),,   }大敌;   },   ?在

<强>使用方法:

加入start_session(600);//600秒以后过期。

<强>会话永不过期的方法

打开php . ini中设置文件,修改三行如下:

1, session.use_cookies

把这个的值设置为1,利用饼干来传递sessionid

2,会话。cookie_lifetime

这个代表SessionID在客户端饼干储存的时间,默认是0,代表浏览器一关闭SessionID就作废……就是因为这个所以PHP的会话不能永久使用!那么我们把它设置为一个我们认为很大的数字吧,999999999怎么样,可以的!就这样。

3, session.gc_maxlifetime

这个是会话数据在服务器端储存的时间,如果超过这个时间,那么会话数据就自动删除!那么我们也把它设置为99999999。

就这样一切好了,当然你不相信的话就测试一下看看,设置一个会话值过个十天半个月的回来看看,如果你的电脑没有断电或者宕机,你仍然可以看见这个SessionID。

当然也可能你没有控制服务器的权限并不能像我一样幸运的可以修改PHP . ini中设置,一切依靠我们自己也是有办法的,当然就必须利用到客户端存储饼干了,吧得到的SessionID存储到客户端的饼干里面,设置这个Cookie的值,然后把这个值传递给session_id()这个函数,具体做法如下:

& lt; ? php    session_start();,//,启动Session    $ _SESSION[& # 39;计数# 39;];,//,注册会话变量Count    收取(PHPSESSID)美元? session_id ($ PHPSESSID): $ PHPSESSID =, session_id (),,//,如果设置了PHPSESSID,美元就将SessionID赋值为$ PHPSESSID,否则生成SessionID    $ _SESSION[& # 39;计数# 39;]+ +,,//,变量计数加1,   setcookie (& # 39; PHPSESSID # 39;,, PHPSESSID,美元,时间()+ 3156000);,//,储存SessionID到Cookie中,   echo 美元数,//,显示会话变量计算的值,   ?在

关于怎么在php中设置会话的有效期就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

会话的怎么在php中设置有效期