【问题标题】:Whats the maximum number of php session files in "session.save_path"“session.save_path”中的 php 会话文件的最大数量是多少
【发布时间】:2014-02-22 11:28:01
【问题描述】:

当使用“session.save_handler = files”时,php在“session.save_path”目录下最多可以处理多少个文件?

实际上我们遇到了问题,当文件数量达到高水平时。 我不能告诉你我们的号码,因为我清理了文件夹。

用户尝试登录,但在他们第一次点击应用程序后立即被踢出。

【问题讨论】:

  • PHP 对会话文件的数量没有任何限制,但文件系统确实有限制,之后性能开始受到不利影响

标签: php session-cookies


【解决方案1】:

据我所知,PHP 方面没有具体的硬性限制。但是,大多数文件系统在目录条目很大时性能很差。

您可能希望将会话文件拆分为子目录,如the manual explains

session.save_path string

session.save_path 定义参数 它被传递给保存处理程序。如果您选择默认文件 处理程序,这是创建文件的路径。也可以看看 session_save_path().

此指令有一个可选的 N 参数,用于确定会话文件将传播的目录级别数 例如,设置为 '5;/tmp' 可能最终会创建一个 会话文件和位置 /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If

请注意,您首先需要自己创建目录树。编写一个 PHP 脚本来做到这一点应该不难。

【讨论】:

  • 感谢您的提示!假设你是对的,可能是 ext4 文件系统在处理目录中的文件数量时遇到了问题。
  • 顺便说一句,下次发生这种情况时,我建议您验证会话文件的修改日期。由于配置错误的系统根本没有删除旧数据,我曾经发现一个拥挤的会话目录。我有几个月没有碰过的会话文件。
  • 嗨,你是对的,这就是发生的事情。我通过调整 session.gc_probability、session.gc_divisor、session.gc_maxlifetime 来修复它。见:stackoverflow.com/questions/654310/cleanup-php-session-files
猜你喜欢
  • 1970-01-01
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 2010-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-27
相关资源
最近更新 更多