你理解错了!浏览器关闭以后,再也得不到一个一模一样的session了!但是服务端还会存在一定时间的!因为session文件是和系统时间有一定关系的!客户端在重新开试时会产生一个新的session文件!

解决方案 »

  1.   

    session是不会马上被删除的,这和用户端的cookie会存在一定时间是一样的
      

  2.   

    SESSION 的生命期取决于服务器端 php 的配置文件 php.ini 中对选项
    session.gc_maxlifetime 设置。该设置的值决定了 session 在服务器
    端的存贮时间。客户端浏览器关闭后,默认情况下是马上清除 session_id,并不是删除
    session 文件,只是清除对上一次 session 的标识符。
    在 php.ini 中有下面几个选项控制 session_cookie 在客户端的存贮:session.use_cookies:若为1则使用 cookies 来传递 session_id,为
                        0则使用 query_string 来传递 session_id;
                        默认为1
    session.name: 存贮 session_id 的变量名称,可能是 cookie,也可能
                  是query_string,默认值是 PHPSESSID
    session.lifetime:session_id在客户端存贮的时间,若为0则一关闭浏览
                     器就清除 session_id
      

  3.   

    wingafra
    你说的是物理上的删除吧yukeelau说的删除好象并不会把tmp目录下以sesID命名的文件删掉哦物理上的删除我现在还是手工维护的
      

  4.   

    才来的,多指教。可以使用Session_Destory或者Session_Unregister.我的使用环境是WIN98+APACHE(或者Ohttpd)
      

  5.   

    session_unregister是注销一个变量而已
      

  6.   

    我遇到过类似的问题.
    我的解决方法是再要关闭网页时再执行一段javascript代码,用此调用一个php页面,此页面的任务是将前面注册的session变量全部付值为空,这样就不害怕session不过期的问题了.