Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Mysql Codeigniter应用程序中会话变量大小的增加_Php_Mysql_Session_Variables - Fatal编程技术网

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

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,但正在发送

我有一个问题,我认为是tinyMCE,然后是我的db,现在我认为是我的会话变量大小。我有一个连接到mysql数据库的php应用程序。有一个字段包含2900多个字符。当我加载页面时,应该显示此文本的区域要么完全丢失,要么一旦我从数据库中删除了一大块文本,我就可以看到缩减的文本。在调试过程中,我看到了一个var,它保存着介绍文本[session->userdata->ACCOUNT\u intro\u text]saids 1024(2963)的长度。因此会话var的长度/大小是1024,但正在发送2963,因此var被截断。如何增加此会话变量的大小?

以帮助支持此会话的人员:


终于!最终发现了问题所在-会话对象中存储的数据量存在大小限制。根据RFC2109,该大小限制为4KB。就这样。我知道我在某个地方达到了极限,最后才知道它在哪里。必须重新编写一些代码,以便我只能提取这些文本部分,而不依赖会话中存储的数据。

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

我曾经按照CodeIgniter手册的建议将会话放入数据库中(请参阅题为“将会话数据保存到数据库”的部分):

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

请发布访问数据的代码,可能还有数据库架构的相关部分。为什么这需要在会话中?嗨,Paul,这是一个继承的应用程序,所以我需要保留尽可能多的原始结构。