zoukankan      html  css  js  c++  java
  • 设置session的生存时间

    1、最有效的方法 修改php.ini中 

    #session的超时时间
    session.gc_maxlifetime = 1440

     2、通过php去修改这个值

    $Lifetime = 3600;
     $Seperator = (strstr(strtoupper(substr(PHP_OS, 0, 3)), "WIN")) ? "\" : "/";
     $DirectoryPath = dirname(__FILE__) . "{$Seperator}SessionData";
     is_dir($DirectoryPath) or mkdir($DirectoryPath, 0777);
     
    if (ini_get("session.use_trans_sid") == true) {
         ini_set("url_rewriter.tags", "");
         ini_set("session.use_trans_sid", false);
     
    }
     
    ini_set("session.gc_maxlifetime", $Lifetime);
     ini_set("session.gc_divisor", "1");
     ini_set("session.gc_probability", "1");
     ini_set("session.cookie_lifetime", "0");
     ini_set("session.save_path", $DirectoryPath);
     session_start();
    

    3、采用增加cookie的时间,变相的增加session的时间

    /**
     * 
     *下面只是设置了保存sessionid的那个时间,这样的结果是关闭浏览器后session仍可以用
     *实际并没有改变session的生存时间
     *
     */
    
    //只会在用户第一次访问的时候设置保存sessionid的那个cookie的过期时间
    $lifetime=600;
    session_set_cookie_params($lifetime);#注意到放到start的前面
    session_start();
    
    //每次都设置保存sessionid的那个cookie的过期时间
    $lifetime=600;
    session_start();
    setcookie(session_name(),session_id(),time()+$lifetime);
    //同上,每次都会设置
    $lifetime=86400;
    session_set_cookie_params($lifetime);
    session_start();
    session_regenerate_id(true);

    参考手册中 session_set_cookie_params 函数 comment

  • 相关阅读:
    javascript 注意事项汇总
    Object.prototype.toString方法
    PHPStorm使用心得
    JavaScript基于原型链的继承
    PHP重定向的3种方式
    Android应用与开发环境
    PHP时间处理
    cocos2dxna 游戏中如何控制后退键实现目的性跳转
    wp7 独立存储空间在真机和虚拟机测试的时候数据不一样
    c#获取交叉数组的行、列数
  • 原文地址:https://www.cnblogs.com/chenqionghe/p/4291865.html
Copyright © 2011-2022 走看看