PHP中,Session變數保存在伺服器端(預設以檔案格式儲存),而SessionID以cookie形式儲存在客戶端。
銷毀session的方法有兩種:
第一種是透過程式
session_destory()方法清除所有session unset(session['x'])来清除指定的session['x']。
第二種是透過關閉瀏覽器
关闭后会直接清除所有session。
在Cookie沒有停用的情況下,session ID是儲存在Cookie中的。
想要改變session生命週期,可以透過設定Cookie中sessionID的有效時間來實現。設定session生命週期的也有兩種方法:
第一種:setcookie()
$lifetime=60;//保存1分钟 session_start(); setcookie(session_name(),session_id(),time()+$lifetime,"/");
直接用setcookie設定session id的生命週期。
第二種:session_set_cookie_params()
$lifetime=60;//保存1分钟 session_set_cookie_params($lifetime); session_start(); session_regenerate_id(true);
session_regenerate_id();方法用來改變目前session_id的值,並保留session中陣列的值。參數預設為false,如果設定為true則改變session_id的值,並清空目前session數組。