我知道默认的 PHP 会话存储机制是一个文件,通常在 tmp. session_id 携带在 cookie 中。
我也想将我的少量会话数据存储在 cookie 中。(就像 Rails 默认做的那样。)
问题:是否有一个 php 库可以为我处理这个问题,或者我是否需要使用session_set_save_handler等来滚动我自己的库?
补充:只有CodeIgniter 会话类可用吗?
我知道默认的 PHP 会话存储机制是一个文件,通常在 tmp. session_id 携带在 cookie 中。
我也想将我的少量会话数据存储在 cookie 中。(就像 Rails 默认做的那样。)
问题:是否有一个 php 库可以为我处理这个问题,或者我是否需要使用session_set_save_handler等来滚动我自己的库?
补充:只有CodeIgniter 会话类可用吗?
您需要问自己的是为什么要这样做。只要您提供会话 ID,您就可以访问会话本身中存在的任何信息。如果您更喜欢以其他方式进行操作,则必须推出自己的会话系统。
以下是与您的想法相反的几点:
redis
为您的会话管理器。这实际上是微不足道的。假设您仍然想这样做(您真的确定吗?),答案就是设置另一个 cookie。PHP 会话处理程序最好不要乱用,因为如果更改出错,有很大的风险会到处乱扔 500。第二块饼干是你最好的选择。
尝试这个
$newdata = array(
'username' => 'johndoe',
'email' => 'johndoe@some-site.com',
'logged_in' => TRUE
);
$this->session->set_userdata($newdata);
$this->input->set_cookie($newdata);