Windows/Temp目录中充满了Php会话';s阻止服务器的文件

Windows/Temp目录中充满了Php会话';s阻止服务器的文件,php,session,iis-7,windows-server-2008,Php,Session,Iis 7,Windows Server 2008,大家好,我是意大利人,我为以下错误提前道歉:) 对于我的服务器来说,那是一个黑暗的日子,我非常想知道到底是什么问题。我认为数据库配置不好,或者硬盘可能有一些问题,我正在考虑更换服务器。当它用碎片整理和磁盘扫描程序(不可运行)测试硬盘时,我决定打开CCleaner,奇迹发生了。Windows/Temp文件夹被完全阻止,您甚至无法打开它。CCleaner已在十小时内清理完文件夹:')一个文件夹十小时 经过一天的清理,今天早上我去检查了一下,里面有18000 0kb的文件或最大10kb的文件,都叫做“

大家好,我是意大利人,我为以下错误提前道歉:)

对于我的服务器来说,那是一个黑暗的日子,我非常想知道到底是什么问题。我认为数据库配置不好,或者硬盘可能有一些问题,我正在考虑更换服务器。当它用碎片整理和磁盘扫描程序(不可运行)测试硬盘时,我决定打开CCleaner,奇迹发生了。Windows/Temp文件夹被完全阻止,您甚至无法打开它。CCleaner已在十小时内清理完文件夹:')一个文件夹十小时

经过一天的清理,今天早上我去检查了一下,里面有18000 0kb的文件或最大10kb的文件,都叫做“sess_0a5u2ou87…”(sess_是前缀,我想后面是md5)

当我打开其中一个时,我在其中找到了我网站用户的会话变量

var|s:1:"2";timeout|i:1403338177;id|s:1:"1";name|s:17:"Foo";
下面显示了如何创建会话:

//create session
session_start();
$_SESSION['var'] = $var;
$_SESSION['timeout'] = time();

//work with session
public static function resetVar(){
   if(isset($_SESSION['var'])){
            unset($_SESSION['var']);
        }
}

//destroy session
session_start();  
if(isset($_SESSION['timeout'])) {       
    $duration = time() - (int)$_SESSION['timeout'];
    if($duration > 6000) {
        session_destroy(); 
    header("Location: index.php");
    }
    $_SESSION['timeout'] = time();
}     

有人能帮我理解这一点吗

我能解决这个问题。更改PHP保存会话的文件夹就足够了。。更改后,超过一小时的文件“sess”…,将自动删除!我认为Php试图删除Windows/Temp文件夹中的文件,但可能是因为权限问题,他无法删除


您可以通过更改“session.save_path”的值来更改php设置(php.ini)中的路径。

我也遇到了同样的问题,但我看到一个php MYSQL PDO驱动程序丢失错误

 could not find driver
经过一番挖掘,我才发现会话目录中有15k个文件。删除后,一切正常

签出管理会话文件生存期的php变量

 session.gc_maxlifetime