我本地服务器session的默认时间是1440,没有改过,可是在程序里用的时候,登陆之后隔1~2分钟就跳出来了,不知道哪里出了问题,请大家帮忙一下!能请大家给一个有关session的函数或是类吗?谢谢!

解决方案 »

  1.   

    test.phpsession_start();
    $_SESSION['TEST'] = TRUE;
    echo $_SESSION['TEST'];保存,访问文件;打开文件,注释掉 $_SESSION['TEST'] = TRUE;
    然后保存访问,看看多长时间超时。如果这个正常,就是你程序里的问题了。PHP session 借助 cookie保存session_id,检查cookie,看看是不是cookie有变化;
    看看 session_id是否有变化;
      

  2.   

    我本地服务器session的默认时间是1440
    是代码中设置的默认时间么?还是php.ini设置的sesion的max存活时间?参考下这篇文章。
    http://apps.hi.baidu.com/share/detail/19167738
      

  3.   

    php.ini的session.cookie_lifetime有设置值?
      

  4.   

    二楼:【程序里也设置了,php.ini里的最大时间也是1400,和程序里的是一样的】
    三楼:【有设置!】
      

  5.   

    session.cookie_lifetime设置值是多少?
    如果不是0的话,会对client端session有影响
      

  6.   

    0表示关闭浏览器存session_id的cookie才失效,大于0的值表示存session_id的cookie多久后失效,以秒为单位,比如设置成了120,那就表示如果2分钟内没有刷新页面,该session_id的cookie就失效,你再请求过去浏览器可不会把失效的cookie附加到http头上,那服务器就没法找到对应的session数据。
      

  7.   

    session.cookie_lifetime 设置的是0
      

  8.   


    不会是代码里面又另有设置吧,比如调用ini_set
      

  9.   

    function start_session($expire = 0){
    if ($expire == 0) {
    $expire = ini_get('session.gc_maxlifetime');
    } else {
    ini_set('session.gc_maxlifetime', $expire);
    }

    if (empty($_COOKIE['PHPSESSID'])) {
    session_set_cookie_params($expire);
    session_start();
    } else {
    session_start();
    setcookie('PHPSESSID', session_id(), time() + $expire);
    }
    }
    这是我最后加上去的,也不行,先前什么都没有设置!!
    全部都是默认的session_start();
    $_SESSION['admin'] == $admin 等,在另一个页面只有这个判断if(!isset($_SESSION['admin']) || $_SESSION['admin'] == ""){
       echo "身份未验证,不能登陆!";
       exit;
    }就像这样的!!没有其它的了!!!
      

  10.   

    你是指SESSION的有效期,还是指将某个时间作为SESSION保存?
      

  11.   

    你的session 有改写过吗..写过数据库吗.要是有. 请看你改写的代码. 曾今我也出现过这种问题.......
      

  12.   


    没有写入数据库,直接放入session中保存的
      

  13.   


    我是用session保存值啊,session的有效时间一到,值丢失,又要重新登陆,这个不矛盾哈!!!在此先谢谢大家的帮助,问题还是存在!!!