PHP 会话文件是否曾被删除?

Get*_*ree 8 linux php web-server apache-2.2

我看到我的“/tmp”目录(一台 CentOS 机器)中有数千个文件,而且几乎所有文件都是 PHP 会话文件。
我担心这可能对我的系统产生影响。
这些文件是否曾经被操作系统、Apache 或 PHP 删除过?还是我必须自己照顾?

Jon*_*des 8

它们应该被 PHP 垃圾收集器删除。频率由session.gc_maxlifetimephp.ini 中的设置控制。可能如果这没有起作用,您还有其他问题。

  • “垃圾收集”以不同的方式用于不同的事物。会话垃圾收集自 PHP 4.0(引入会话模块)以来就存在。5.3 中的新功能是内存垃圾回收,用于清理 PHP 变量的循环引用,其中引用计数机制使它们保持活动状态直到请求结束。http://php.net/gc 与 http://php.net/session.gc-probability (5认同)

小智 7

在默认的 Debian 和 Ubuntu 上,会话由 cron 清理 /etc/cron.d/php5

# Look for and purge old sessions every 30 minutes
09,39 *     * * *     root   [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
Run Code Online (Sandbox Code Playgroud)

其中/usr/lib/php5/maxlifetime以分钟为单位给出了session.gc_maxlifetime.