代码之家  ›  专栏  ›  技术社区  ›  user756659

PHP会话文件未被清理?

  •  0
  • user756659  · 技术社区  · 6 年前

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

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

    PHP版本是7.2。我错过了什么?据我所知,这些都是自动清理的。

    1 回复  |  直到 6 年前
        1
  •  0
  •   John Everden    6 年前

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