在我的网站上,我使用 PHP session 。 session 信息存储在我的 ./session 路径中的文件中。几个月后,我发现这些 session 文件永远不会被删除,现在这个目录中有 145.000 个。
这些应该如何清理?我是否必须以编程方式执行此操作,还是我可以在某个地方使用可以自动进行此清理的设置?
编辑忘了提及:这个网站在一个提供商处运行,所以我无法访问命令行。我确实有 ftp 访问权限,但 session 文件属于另一个用户(我猜是网络服务器进程运行的那个)从我得到的第一个答案中,我认为这不仅仅是服务器或 PHP 上的设置,所以我想我会必须在 PHP 中为它实现一些东西,并定期从浏览器中调用它(可能来自在我家自己的机器上运行的 cron 作业)
最佳答案
要正确处理 session ,请查看 http://php.net/manual/en/session.configuration.php .
你会发现这些变量:
- session.gc_probability
- session.gc_divisor
- session.gc_maxlifetime
这些控制每个页面请求运行的垃圾收集器 (GC) 概率。
您可以使用 ini_set() 设置它们在您的脚本或 .htaccess 文件的开头,以便您在某种程度上确定它们会在某个时候被删除。
关于php - 清理 php session 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/654310/