jol*_*olt 54 php session-variables
正如标题所说,会话变量是否有限制(如果有的话),或者它们被视为通常的变量并且可以存储相同数量的数据?
我正在寻找除了最大长度,最大值等变量类型之外是否还有其他限制.
PS如果问题不清楚,请告诉我.
提前致谢!
Pis*_*3.0 53
正如@Thariama所说,变量的数量没有限制; 此外,您可以在会话中存储的数据量没有限制(我已经看到会话数十MB的大小).
随着会话的大小变大,你会遇到各种怪癖:PHP 5将整个会话反序列化为内存session_start()
(使用默认的会话处理程序 - 当然你可以自己创建解决方案); 使用20 MB会话和50个并发用户,您的脚本开始受到磁盘访问速度的严重限制(也就是"脚本启动速度慢,因为糖蜜" - 仅会话就会占用GB的RAM); 最后,我们专门用一个盒子在RAM中保存尽可能多的会话,并且前端盒通过NFS访问它们(尽管在我们的情况下它有所帮助,这对你来说可能有点过分).
请注意,对于磁盘上的许多并发用户和会话存储,会话临时文件的数量可能会导致文件系统限制问题(例如,在遇到stat()
性能问题之前,一个目录中可以有多少文件)或其他限制(我们曾经发现将盒子配置为仅允许同时打开4096个文件的困难方式).这些都不是特定于会话的,但可以通过会话处理来触发.
Tha*_*ama 15
不,会话可能具有的空间(或会话可能拥有多少变量)没有限制.唯一的限制是您的计算机上的规格,这是由您的php.ini中的可用memory_limit定义的.请注意,此空间将在所有用户的所有会话之间共享.
它完全特定于您的Web服务器.对于Apache,请看这里:
http://httpd.apache.org/docs/trunk/mod/mod_session.html
它甚至允许使用mod_session_dbd 将会话存储在数据库中.因此,可以克服每个会话1个文件的物理限制.此外,Apache可以配置为跟踪存储在特定服务器或服务器组上的每个用户会话,以实现可伸缩性.
归档时间: |
|
查看次数: |
52142 次 |
最近记录: |