session_start()的逻辑

//session_startStart new or resume existing session

session_start();

print_r($_SESSION);


//看有没有session对象,看请求头部有PHPSESSID该键=>值对的cookie不,有则通过该id,看能不能查找到相应id的session对象

//通常情况下,server有接受到PHPSESSID,则该session存在


请求头部没有PHPSESSID该键=>值的cookie,说明server还没有session对象,则创建一个session对象(并在响应头的set-cookei里写入键=>值对,通知浏览器在本地保存该session的id,同一会话内下次再进入该页面就不用新建session对象了,)



//不能手动删除session对象在浏览器保存的PHPSESSID(假设能够手动删除的话,那就想在server创建非常多$_SESSION超全局数组了,server肯定不允许的,你想在session_start()前删除PHPSESSID,同一次会话,下次进来就会创建新的session对象了,

setcookie(PHPSESSID,"",time()-100);
session_start();

不行的,PHPSESSID仅仅有server自己能删除,这样才干保证$_SESSION变量的唯一性在一个进程中


原文地址:https://www.cnblogs.com/gcczhongduan/p/4332966.html