read the content in php manual carefully.

解决方案 »

  1.   

    destroy方法只在调用session_destroy函数时执行
    gc方法的调用与系统设置有关,一般不被执行你可以在read方法中显式的调用gc方法来完成清理工作
      

  2.   

    gc是有设置的。是平均多少次执行一次,这是一个随机数。如果每次都会执行那还要gc干什么,你直接运行代码得了。
      

  3.   

    如果对方关闭浏览器会执行动作吗?我的判断是不会,这样有办法在对方直接关闭浏览器时候的时候执行一个SESSION删除动作吗?
      

  4.   

    会执行动作。只不过,不是即时生效。是要等 session timeout 时,才执行。
      

  5.   

    那最后问一下CLOSE这个函数在什么时候被出发的?是不是浏览器关闭?
      

  6.   

    不是浏览器关闭而php运行结束
      

  7.   

    open     在session_start()时执行 
    close    在程序结束时执行
    read     在session_start()时open之后执行
    write    在程序结束时close前执行
    destroy  在session_destroy()时执行
    gc       在操作系统的gc进程请求时执行当使用自定义的session函数时,通常只是将gc设置为空函数,即不做任何动作
    因为既然不使用php提供的默认动能,自然是有理由的。这当然也包括session的清理