当我尝试在我的某个控制器中设置Codeigniter(PHP)会话时,如果已经设置了另一个会话,则不会设置它。
总共3个会话集,我试图设置另一个未设置的会话,并假设销毁一个已设置的会话3然后尝试会话设置。
问题是什么?我试过但没有找到任何解决方案。
这是我的会话数组:
[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);
但是这个(valuation_session
)会话无论如何都没有设置。如果我销毁任何设置会话,则设置上面的会话。我一次只能设置3个会话。
答案 0 :(得分:0)
较早的CodeIgniter版本(3.0之前版本)将会话数据的所有存储在cookie中,其大小限制为4KB - 这是协议限制,无法更改。
根据说明判断,您的lead_db_session
,livewire_lead_user_session
和property_details_sortsearchpage_data
相当大,当您将更多数据放在一起时,您的Cookie超出了4KB大小限制且无法发送。
你可以而且应该做两件事(两者都是):