【问题标题】:Windows/Temp directory is full of Php Session's files that block the serverWindows/Temp 目录充满了阻止服务器的 Php Session 文件
【发布时间】:2014-08-11 23:27:58
【问题描述】:

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

对于我的服务器来说,那是一段黑暗的日子,我要疯了才能明白可能是什么问题。我以为是数据库配置不好,或者硬盘有问题,正在考虑换服务器。当它使用碎片整理和扫描磁盘(不可运行)测试硬盘时,我决定打开 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 session iis-7 windows-server-2008


    【解决方案1】:

    我能够解决问题。更改 PHP 保存会话的文件夹就足够了。更改它,超过一小时的文件“sess_...”将被自动删除!我认为 Php 试图删除 Windows/Temp 文件夹中的文件,但可能是权限问题,他不能。

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

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题,但我看到 PHP MYSQL PDO 驱动程序丢失错误。

       could not find driver
      

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

      签出这个管理会话文件生命周期的 php var;

       session.gc_maxlifetime
      

      http://ar.php.net/manual/en/session.configuration.php.

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-01
        • 2017-02-08
        • 2023-04-11
        • 1970-01-01
        相关资源
        最近更新 更多