一尘不染

清理PHP会话文件

php

在我的网站上,我使用PHP会话。会话信息存储在我的./session路径中的文件中。几个月后,我发现这些会话文件从未删除,到目前为止,此目录中有145.000个文件。

这些应该如何清理?我是否必须以编程方式执行此操作,还是我可以在可以自动进行此清理的地方使用的设置?

编辑
忘了提及:该站点在提供程序上运行,因此我无权访问命令行。我确实有ftp访问权限,但是会话文件属于另一个用户(我猜该服务器运行的是该服务器)。从我得到的第一个答案中,我认为这不仅仅是服务器或PHP上的设置,所以我想必须在PHP中为其实现某些功能,并从浏览器中定期调用该功能(也许是在我自己家里的计算机上运行的cron作业)


阅读 208

收藏
2020-05-26

共1个答案

一尘不染

要正确处理会话,请查看http://php.net/manual/en/session.configuration.php

在这里,您将找到以下变量:

  • session.gc_probability
  • session.gc_divisor
  • session.gc_maxlifetime

这些控制着每个页面请求运行的垃圾收集器(GC)的可能性。

您可以在脚本或.htaccess文件的开头使用ini_set()设置它们,以便在某种程度上可以确定它们将在某些时候被删除。

2020-05-26