PHP会话文件没有被清理?

时间:2018-06-16 03:38:11

标签: php session

我有一个使用会话的相当新的网站。我在文件中有以下内容,然后在每个使用会话变量的页面上都需要此文件:

session_name('Login');
session_set_cookie_params(0, '/', '.site.com', false, true);
session_save_path($_SERVER['DOCUMENT_ROOT'].'/../user-sessions');
session_start();

正如您所看到的,我正在使用自定义目录将会话存储在根目录下的一个级别。我刚刚意识到这些会话文件都没有被清除。这个文件夹中大约有150k。

PHP版本是7.2。我在这里错过了什么?总是我理解这些都是自动清理的。

1 个答案:

答案 0 :(得分:0)

你是ubuntu还是debian?如果是这样,session.gc_probability通常设置为0,然后用cron清理它们。由于您没有将会话存储在默认目录中,因此无法使用cron作业清除它们。如果是这种情况,您可以在php.ini中设置session.gc_probability = 1,或者编写自己的cron脚本来清理它们。只需确保您以具有相应权限的用户身份运行cron即可删除它们。