• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php会话时间怎么设置

php 搞代码 4年前 (2022-01-04) 39次浏览 已收录 0个评论

php会话时间的设置方法:首先打开php.ini,并查找Session设置部分;然后通过设置“session.gc_maxlifetime”来设定Session的生存周期即可。

本文操作环境:windows7系统、PHP7.1版,DELL G3电脑

php设置session(过期、失效、有效期)

在php中设置session有很多方面包有给session设置值或直接设置过期、失效和有效期,下面小编来给大家给各位朋友介绍怎么使用。

我们先来看看在php.ini中session怎么设置,打开 php.ini,查找Session设置部分中以下一项,代码如下:

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

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

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

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

Session过期时间设定

继续PHP中的Session话题,在PHP中主要通过设置session.gc_maxlifetime来设定Session的生存周期,例如如下代码:

       <?php 
        
 
         ini_set
         (
         'session.gc_maxlifetime'
         , 3600); 
         //设置时间 
        
 
         ini_get
         (
         'session.gc_maxlifetime'
         );
         //得到ini中设定值 
        
 
         ?>

【推荐学习:PHP视频教程】

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

       <?php 
        
 
         function 
          start_session(
         $expire 
          = 0) 
        
 
         { 
        
 
          
         if 
          (
         $expire 
          == 0) { 
        
 
          
         $expire 
          = 
         ini_get
         (
         'session.gc_maxlifetime'
         ); 
        
 
          
         } 
         else 
          { 
        
 
          
         ini_set
         (
         'session.gc_maxlifetime'
         , 
         $expire
         ); 
        
 
          
 <mark style="color:transparent">来源gaodaimacom搞#代%码网</mark>        } 
        
 
          
         if 
          (emptyempty(
         $_COOKIE
         [
         'PHPSESSID'
         ])) { 
        
 
          
         session_set_cookie_params(
         $expire
         ); 
        
 
          
         session_start(); 
        
 
          
         } 
         else 
          { 
        
 
          
         session_start(); 
        
 
          
         setcookie(
         'PHPSESSID'
         , session_id(), time() + 
         $expire
         ); 
        
 
          
         } 
        
 
         } 
        
 
         ?>

使用方法:

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

session永不过期的方法

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

1、session.use_cookies

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

2、session.cookie_lifetime

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


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php会话时间怎么设置

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址