C语言 c++ php mysql nginx linux lnmp lamp lanmp memcache redis 面试 笔记 ppt 设计模式 问题 远程连接

修改session的生存时间

1.session回收

 

//session的实效时间

 

 

session.gc_maxlifetime = 86400
//垃圾回收的概率
#概率是gc_probability/gc_divisor
session.gc_probability = 1
session.gc_divisor = 100


 

<?php
if(!isset($_SESSION['last_access'])||(time()-$_SESSION['last_access'])>60)
    $_SESSION['last_access'] = time();
?>

http://www.orczhou.com/index.php/2009/12/php-session/ 

 

代码:

原理:注意已经改变session的存储路径了,

如果脚本中没有设置session路径,会按配置文件中的路径进行垃圾回收,如果脚本中有设置回收时间和路径的话会按设置的走,没有的话会按配置文件的走,跟生成文件时设置的session生存时间没有关系

$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();

posted on 2012-09-04 16:23  思齐_  阅读(3303)  评论(0编辑  收藏  举报