php.ini 中设置 session.cookie_lifetime = 0 重新启动web服务器

解决方案 »

  1.   

    但是要保证每次必须把IE关掉后,这个session才失效如果session.cookie_lifetime = 60,就是过了60秒后,即使你的IE开着,这个session也失效了,但是在60秒内存在你说的问题
      

  2.   

    我的服务器的session.cookie_lifetime =0,可关掉IE,用户不用输入用户名、密码直接就登陆了,怎么回事?
      

  3.   

    当起用session后,在cookie中将出现PHPSESSID一项。这是再次http协议时php能与原先的session_id联系上的手段。当register_globals=on时,若以“url?PHPSESSID=session号”连接时,原session临时文件若还存在则仍能使用。当“客户端的cookie不可用”或“php认为客户端的cookie不可用”时,这个PHPSESSID将以url参数显式的或表单的隐藏对象隐式的传递。
    知道了这样的过程后,就可以着手检查问题的原因了
    1、php.ini中
    session.cookie_lifetime =0 ;表示cookie中的PHPSESSID在浏览器关闭(应该是离开该网站,但实际做不到)被删除
    session.gc_maxlifetime = 1440 ;表示当session临时文件停止更新1440秒后可被操作系统的gc进程删去。注意每次sessio_start()都将使session临时文件被刷新,gc进程每次只删除约3%的垃圾文件。win32下无gc进程,至少是此类进程对php的该项设置无效,session临时文件会长久保留2、检查cookie中的PHPSESSID是否存在,尤其是浏览器关闭后
    3、检查地址栏或location属性中是否有session的id号,特别是那些特意隐藏掉地址栏的框架和窗口
    4、检查由php生成的html中是否含有session的id号总之从这几方面入手,一定是可以找到原因的。
      

  4.   

    配置文件里session.cookie_lifetime 的值已经设为0了,为什么还是用这个问题?
    不是有个函数 session_cache_limiter("private")吗?怎么用啊?
      

  5.   

    session.cache_limiter = nocache
      

  6.   

    好象可以了,在注册一个变量之前,添加一句session_cache_limiter("private");关闭IE后,这个SESSION值就无效了,但是如果不关闭IE的话,这个SESSION还是有效的。