Php 会话结束时运行脚本

Php 会话结束时运行脚本,php,session,garbage-collection,cron,Php,Session,Garbage Collection,Cron,我正在研究如何在用户会话结束时运行脚本或函数,以便删除可能需要的临时文件 我四处搜索,以便找到这个问题的解决方案,但我发现我有点不知所措,我发现关于GC的PHP文档令人困惑(从文档中我了解到,这并不是我真正需要的) 我看了上面的页面,得出了以下结论: session_set_save_handler( '', '', '', '', 'deleteDocs'); function deleteDocs() { rmdir('user/' . rawurlencode($_SESSION[

我正在研究如何在用户会话结束时运行脚本或函数,以便删除可能需要的临时文件

我四处搜索,以便找到这个问题的解决方案,但我发现我有点不知所措,我发现关于GC的PHP文档令人困惑(从文档中我了解到,这并不是我真正需要的)

我看了上面的页面,得出了以下结论:

session_set_save_handler( '', '', '', '', 'deleteDocs');
function deleteDocs()
{
    rmdir('user/' . rawurlencode($_SESSION['data']['user']['details']['email']) . '/temp');
}
但是,此函数根本不运行。坦白地说,有了这些,我觉得我不知道自己到底在做什么

我尝试使用GC并查看和,但无论如何我无法编辑php.ini

这是可以做到的。我应该使用cron作业吗?如果是,如何检查会话是否已完成

我应该使用cron作业吗?如果是,如何检查会话是否已完成

对。您可以根据上次修改文件的时间(在您的情况下,文件是一个目录)执行此操作。如果该目录早于最大会话期限,请删除该目录

您可以使用该命令进行此操作


您可以在PHP文件夹中找到一个示例脚本,请参见和。

如何知道最大会话时间?会话在您的站点上持续多长时间?这只是一个如何配置它的问题,所以您必须说;)您可能希望在6小时后删除目录。
session\u set\u save\u handler
用于用您自己的自定义解决方案替换PHP的正常会话处理。它不是用于链接功能。