設置session的生存時間


1、最有效的方法 修改php.ini中 

#session的超時時間
session.gc_maxlifetime = 1440

 

 2、通過php去修改這個值

$Lifetime = 3600;
 $Seperator = (strstr(strtoupper(substr(PHP_OS, 0, 3)), "WIN")) ? "\\" : "/";
 $DirectoryPath = dirname(__FILE__) . "{$Seperator}SessionData";
 is_dir($DirectoryPath) or mkdir($DirectoryPath, 0777);
 
if (ini_get("session.use_trans_sid") == true) {
     ini_set("url_rewriter.tags", "");
     ini_set("session.use_trans_sid", false);
 
}
 
ini_set("session.gc_maxlifetime", $Lifetime);
 ini_set("session.gc_divisor", "1");
 ini_set("session.gc_probability", "1");
 ini_set("session.cookie_lifetime", "0");
 ini_set("session.save_path", $DirectoryPath);
 session_start();
 

 

3、采用增加cookie的時間,變相的增加session的時間

/**
 * 
 *下面只是設置了保存sessionid的那個時間,這樣的結果是關閉瀏覽器后session仍可以用
 *實際並沒有改變session的生存時間
 *
 */

//只會在用戶第一次訪問的時候設置保存sessionid的那個cookie的過期時間
$lifetime=600;
session_set_cookie_params($lifetime);#注意到放到start的前面 session_start();

//每次都設置保存sessionid的那個cookie的過期時間
$lifetime=600;
session_start();
setcookie(session_name(),session_id(),time()+$lifetime);

 

//同上,每次都會設置
$lifetime=86400;
session_set_cookie_params($lifetime);
session_start();
session_regenerate_id(true);

 

參考手冊中 session_set_cookie_params 函數 comment

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM