PHP Mysql Codeigniter应用程序中会话变量大小的增加
我有一个问题,我认为是tinyMCE,然后是我的db,现在我认为是我的会话变量大小。我有一个连接到mysql数据库的php应用程序。有一个字段包含2900多个字符。当我加载页面时,应该显示此文本的区域要么完全丢失,要么一旦我从数据库中删除了一大块文本,我就可以看到缩减的文本。在调试过程中,我看到了一个var,它保存着介绍文本[session->userdata->ACCOUNT\u intro\u text]saids 1024(2963)的长度。因此会话var的长度/大小是1024,但正在发送2963,因此var被截断。如何增加此会话变量的大小?以帮助支持此会话的人员:PHP Mysql Codeigniter应用程序中会话变量大小的增加,php,mysql,session,variables,Php,Mysql,Session,Variables,我有一个问题,我认为是tinyMCE,然后是我的db,现在我认为是我的会话变量大小。我有一个连接到mysql数据库的php应用程序。有一个字段包含2900多个字符。当我加载页面时,应该显示此文本的区域要么完全丢失,要么一旦我从数据库中删除了一大块文本,我就可以看到缩减的文本。在调试过程中,我看到了一个var,它保存着介绍文本[session->userdata->ACCOUNT\u intro\u text]saids 1024(2963)的长度。因此会话var的长度/大小是1024,但正在发送
终于!最终发现了问题所在-会话对象中存储的数据量存在大小限制。根据RFC2109,该大小限制为4KB。就这样。我知道我在某个地方达到了极限,最后才知道它在哪里。必须重新编写一些代码,以便我只能提取这些文本部分,而不依赖会话中存储的数据。出现此问题可能是因为您的会话存储在cookie中(实际上限制为4k),因为这是CodeIgniter会话的默认行为。 请注意,CodeIgniter会话与PHP会话不同 我曾经按照CodeIgniter手册的建议将会话放入数据库中(请参阅题为“将会话数据保存到数据库”的部分): 这可能会解决您的问题,并且您将通过会话验证机制获得更好的安全性。
希望有帮助 请发布访问数据的代码,可能还有数据库架构的相关部分。为什么这需要在会话中?嗨,Paul,这是一个继承的应用程序,所以我需要保留尽可能多的原始结构。