Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.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 如果设置了另一个会话,则未设置其中一个Codeigniter会话_Php_Codeigniter_Session - Fatal编程技术网

Php 如果设置了另一个会话,则未设置其中一个Codeigniter会话

Php 如果设置了另一个会话,则未设置其中一个Codeigniter会话,php,codeigniter,session,Php,Codeigniter,Session,当我试图在我的一个控制器中设置Codeigniter PHP会话时,如果已经设置了另一个会话,则不会设置该会话 总共设置了3个会话,我试图设置另一个未设置的会话,假设销毁一个已设置的3个会话,然后设置了try会话 问题是什么?我试过了,但没有找到任何解决办法 以下是我的设置会话阵列: [session_id] => 8ba811200928e06710e970335a7498ea [ip_address] => 192.168.0.17 [user_agent] => Mozi

当我试图在我的一个控制器中设置Codeigniter PHP会话时,如果已经设置了另一个会话,则不会设置该会话

总共设置了3个会话,我试图设置另一个未设置的会话,假设销毁一个已设置的3个会话,然后设置了try会话

问题是什么?我试过了,但没有找到任何解决办法

以下是我的设置会话阵列:

[session_id] => 8ba811200928e06710e970335a7498ea
[ip_address] => 192.168.0.17
[user_agent] => Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
[last_activity] => 1435730720
[lead_db_session] => Array
(
            /* Session array */
)

[livewire_lead_user_session] => Array
(
            /* Session array */
)

[property_details_sortsearchpage_data] => Array
(
            /* Session array */
)
现在我尝试设置另一个会话

$data是我的会话值数组

$this->session->set_userdata('valuation_session', $data);

但无论如何都不会设置此会话。如果我销毁了任何设置的会话,则设置了上述会话。一次只能设置3个会话。

旧版CodeIgniter 3.0之前的版本将所有会话数据存储在cookie中,cookie的大小限制为4KB-这是协议限制,无法更改

根据描述判断,您的lead_db_会话、livewire_lead_user_会话和property_details_sortsearchpage_数据相当大,当您将更多数据放在它们旁边时,您的cookie超过了4KB大小限制,无法发送

有两件事你可以而且应该同时做:

升级到CodeIgniter 3,它只在cookie中放入一个小ID,而实际数据存储在服务器上。 不要将如此大的数组放入会话变量中。。。这是一个暴力解决方案,不是一个好的做法。
发布你的代码。。你的台词不是很简单,我认为不可能有多个会话,因为它是全局变量,而且是唯一的。你说的是会话密钥吗?是会话密钥或名称。我想设置第4个会话,但不设置,每次只设置3个会话键。