在我的网站上,我使用PHP会话.会话信息存储在我的./session路径中的文件中.几个月后,我发现这些会话文件永远不会被删除,现在这个目录中有145.000个.
应该如何清理?我是否必须以编程方式执行此操作,或者是否可以使用某个可以自动执行此清理的设置?
编辑忘记提及:此站点在提供程序上运行,因此我无法访问命令行.我确实有ftp-access,但是会话文件属于另一个用户(我猜的是webserver进程运行的那个)从我得到的第一个答案我认为它不仅仅是服务器或PHP上的设置,所以我想我会必须在PHP中为它实现一些东西,并定期从浏览器调用它(可能来自在我家自己的机器上运行的cron作业)
使用PHP,如果我设置一个自定义会话文件夹来存储会话文件,我该怎么做才能确保旧的会话文件最终被删除?有没有办法让Apache或PHP为我处理这个,或者我是否需要设置一些东西来自己清理这个文件夹?非常感谢有关此主题的任何信息.
我正在使用session_save_path()来更改会话文件夹,如果这有所不同.
如果我做:
ini_set('session.gc_maxlifetime', 86400);
Run Code Online (Sandbox Code Playgroud)
这是否意味着用户可以将浏览器放在同一页面上(非活动状态)长达1天,而无需担心会话被垃圾回收并且他们被注销?
如果服务器配置不支持,会发生什么?(它会给我一个错误吗?或者只是默默地失败?)
默认的垃圾收集时间是24分钟,这可能很容易在我的系统中发生.
垃圾收集是否在session_start上运行?