是否有最大数量的PHP会话?

时间:2014-02-23 18:13:44

标签: php session

简单问题:并发PHP会话数是否有限制?如果一个站点同时有1000多人登录,会话仍然是可接受的存储变量的方式,还是会使用不同的方法?

我认为它将由服务器而不是PHP本身(?)决定,因此不仅会话数量而且每个会话的大小都会有所不同,但我不确定!

1 个答案:

答案 0 :(得分:7)

在我的头顶,应该有几个限制:

  • 为每个会话生成的随机ID具有固定长度,因此只有有限数量的随机ID可用。 (我不知道PHP是否会增加id的长度,如果它耗尽了可用的数量,我不这么认为。)但是,这个数字是非常大的,并且很可能远远超过
  • 可以存储在单个目录中的文件数量,受文件系统的限制。由于默认情况下所有会话都作为文件存储在一个目录中,因此最终会达到此目的。
  • 存储会话数据的磁盘大小。

我认为会议次数没有任何其他硬性限制。但是,所有这些因素都远大于1000.基于标准PHP文件的会话仍可以完美地处理1000多个会话。如果您发现问题,可以exchange the session backend easily。存在用于memcached或其他基于内存或数据库的存储系统的可插入会话处理程序。您可以轻松编写自己的会话处理程序,以您需要的任何可伸缩形式执行任何操作。您仍然可以在代码中继续使用标准的PHP会话函数。