PHP会话字符串限制

问题描述:

是否有可以放入$ _SESSION与PHP的字符串的长度限制?PHP会话字符串限制

谢谢

+0

如果你问这样的问题,你做错了什么 – 2011-01-22 13:30:44

这取决于使用的session_save_handler。对于默认的文件系统,理论上没有限制(或者非常高的文件系统规定的限制),因为会话数据保存在文件中。

将会话数据视为导入每个请求,但是,有一个有效的限制是脚本允许占用的最大内存量。在那里存储超过几千字节是明智的。

如果您需要保存大块数据,请将其存储在临时文件(以当前会话命名)中。

+0

我喜欢这个想法存储在文件中。其实我有几个页面有很多分贝驱动的内容,我只是每晚更新一次。我将这些文件存储在包含txt文件中,这些文件大大提高了我的加载速度。谢谢。 – santa 2011-01-22 13:50:14

string的大小受服务器上可用内存量的限制。该字符串是否可以成功存储在会话中取决于正在使用的会话存储机制。

如果您使用的是开箱即​​用的基于文件的会话存储,那么很可能您可以编写一个大于可用内存量的文件。但是,如果您使用的是memcache,那么您可能会受到更多限制。

但是,实际上,如果您在会话中存储了太多内容,您可能会问这个问题,您可能会滥用会话!

会话应该只包含您真正想要的应用程序处理的几乎每个PHP请求都可以使用的应用程序 - 典型示例将是用户名,用户标识或特权级别。当你的应用偶尔需要更大的东西时,它可以从另一个存储系统中抓取它。

+0

+1,前两行解释了这一切。 – RobertPitt 2011-01-22 13:32:55