我写了小段代码,并自设了一个session变量,如下:<?php
session_start();
if(!isset($_SESSION['Adm']))
  {
    $_SESSION['Adm']=111;
    echo ($_SESSION['Adm']);
  }
else
  {
    echo "there is a session variable already";
  }
?>
我打开浏览器执行此页面后,最先自然是显示出111,再刷新时才显示出后面那句英文,但我不关闭浏览器,并过了24分钟后再次刷新此页面,照理说我设的session变量应该是被销毁了呀,此时页面应该又显示111才对,可怎么还是显示那句英语?session变量是不是在关闭当前浏览器后就随之销毁,或者说在过了24分钟后就自动销毁?是不是要在php.ini里设什么?还是本身我的代码有问题?

解决方案 »

  1.   

    session随页面关闭而失效。
    你的24分钟是哪来的?
      

  2.   

    根据session.gc_maxlifetime=1440而来 即1440秒=24分钟
      

  3.   

    session是关闭浏览器以后几秒内就失效的。最大存活时间是在服务器上session的时间,也就是客户端的操作最近一次时间开始计时。如果经过24分钟则session失效,无法保持状态。否则则继续保持状态,直到存活时间失效或关闭浏览器
      

  4.   

    chenqiuwu() 
    可我等了24分钟后,我原先设的$_SESSION['Adm']=111依然存在。你试试看吧