首頁  >  文章  >  後端開發  >  php中設定session的生命週期

php中設定session的生命週期

伊谢尔伦
伊谢尔伦原創
2016-11-26 14:27:201836瀏覽

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數組。


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn