0

我注意到每次我登录到 phpMyAdmin 时都会创建一个新的会话存储文件并且它永远不会被删除。让我澄清一下:

我登录到 phpMyAdmin,我注意到 PHP 会话 ID 作为名为 phpMyAdmin 的 cookie 传递,其值为“44f4d5s4f4f4d5s”,例如 PHP session.save_path 下还有一个文件,其名称为“sess_”,后跟相同的值(“44f4d5s4f4f4d5s”)。这样我就可以知道这个会话存储文件与 PHPMyAmdin 会话相关联。好吧,直到现在都没有错,PHPMyAdmin 只是使用会话。但是如果我关闭浏览器,重新打开并再次浏览到 PHPMyAdmin,则会创建一个新的会话 ID,发送一个具有不同值的新 cookie,当然还会创建一个新的 sess_[ID HERE] 文件。并且旧的没有从磁盘中删除,我认为,由于创建了新会话而没有使用它们,它们将永远留在那里吃磁盘空间!

我几乎可以肯定这种行为是不希望的。也许 phpMyAdmin 没有调用 session_destroy()?

我附上了我的 config.inc.php,但我不知道从哪里开始寻找知道为什么会这样:

<?php
/* Servers configuration */
$i = 0;

/* Server: localhost [1] */
$i++;
$cfg['Servers'][$i]['verbose'] = '';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['port'] = '';
$cfg['Servers'][$i]['socket'] = '';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['AllowNoPassword'] = true;

/* End of servers configuration */

$cfg['blowfish_secret'] = '.......';
$cfg['DefaultLang'] = 'en';
$cfg['ServerDefault'] = 1;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>

谢谢。

4

1 回答 1

1

这些会话文件不会永远保留在那里。PHP 进行会话垃圾收集,请参阅http://php.net/manual/en/sessionhandler.gc.php

于 2013-10-16T16:34:26.613 回答