PHP Mysql Codeigniter应用程序中的会话变量大小增加

时间:2012-03-21 17:54:30

标签: php mysql session variables

我有一个问题,我认为是tinyMCE,然后我的数据库,现在我认为这是我的会话var大小。我有一个连接到mysql数据库的php应用程序。有一个字段有2900+个字符。当我加载页面时,显示此文本的区域要么完全丢失,要么我从db中删除大块文本后我可以看到缩小的文本。在调试的过程中,我看到了包含前导文本[session-> userdata-> ACCOUNT_INTRO_TEXT]的var表示长度为1024(2963)。因此会话var长度/大小是1024,但是正在发送2963,因此var是截断的。如何增加此会话var的大小?

2 个答案:

答案 0 :(得分:1)

出现此问题可能是因为您的会话存储在cookie中(实际上限制为4k),因为这是CodeIgniter会话的默认行为。 请注意,CodeIgniter会话与PHP会话不同。

我曾经把会话放在数据库中,正如CodeIgniter手册所建议的那样(参见“将会话数据保存到数据库”一节):

http://codeigniter.com/user_guide/libraries/sessions.html

这可能会解决您的问题,您可以通过会话验证机制获得更好的安全性。 希望它有所帮助!

答案 1 :(得分:0)

帮助那些落后于此的人:

最后!最终发现了什么错误 - 会话对象中存储的数据量存在大小限制。根据RFC 2109,此大小限制为4KB。就是这样。我知道我在某个地方遇到了一些限制,最终弄清楚它在哪里。不得不重写一些代码,所以我只能拉这些文本部分而不依赖于会话中存储的数据。