asp和asp.net的session是不同站点间独立的,在asp里,例如我重新打开IE(不是点击该站点页面打开的IE,而是自己重新在桌面打开一个IE),那么就算是打开同一站点,session在两次打开的会话间也是独立的。但是在php里不是这样,只要任何一个页面(就算不是同一会话打开的页面)没有关闭,session也会被保存下来,即使重开IE打开另一个会话,session一样能读取出来我想php像ASP一样,保存的session不要被新打开的会话的IE读取行不行?我想只能被本次会话的所有页面读取,而不想要把所有不相关的页面关闭了,session才会消失,应该怎么配置。意思就是说,我想假如我两次通过桌面双击打开的会话,即使打开的是同一站点,session在两次会话都是独立的,像ASP一样,应该怎么配置,

解决方案 »

  1.   

    只要你的cookie独立,则session就独立
      

  2.   

     即使你关闭了页面, 你不点击注销, 浏览器中也存在session 的~ 除非你点击注销!
      

  3.   

    本地怎么会有session呢?本地浏览器存的是cookie,根据第一次往某个站点发送请求后得到的http返回头Set-cookie项,浏览器会往本地对应的cookie文件记录cookie,文件内记录cookie数据所属的域名,key,value,expire...等等,下次浏览器向相同域名发送时,就会往http 请求头里加上cookie项,session use cookie方式下,session id就是通过请求头里的cookie项发送至服务端。
    我想假如我两次通过桌面双击打开的会话,即使打开的是同一站点,session在两次会话都是独立的,像ASP一样,应该怎么配置
    ===========================================================================
    意思就是浏览器关闭后,cookie失效.php.ini文件里有相应的配置值; Lifetime in seconds of cookie or, if 0, until browser is restarted.
    ;这里设置为0的话,那么每次重新启动浏览器往本域名发送请求都会是全新session.
    session.cookie_lifetime = 0; The path for which the cookie is valid.
    session.cookie_path = /; The domain for which the cookie is valid.
    session.cookie_domain =上面的设置也可通过php函数session_set_cookie_params进行设置,必须在session_start()之前