我在正在运行的项目中面临与会话相关的问题。所以我想用简单的代码重新复制并检查会话。所以我下载了 Codeigniter 2.1.3 的新副本,并在自动加载中添加了会话库。我还在配置文件中设置了 5 位加密密钥。然后我刚刚在欢迎控制器中创建了以下 2 个方法:
public function gettingSess() {
echo '<pre>';
print_r($this->session->all_userdata());
echo '</pre>';
exit;
}
public function settingSess() {
$arr = array('start' => '456');
for($i=0;$i <= 999;$i++) {
$arr['lets_test' . $i] = $i * 100;
}
$this->session->set_userdata('sessVar', $arr);
echo '<pre>';
print_r($this->session->all_userdata());
echo '</pre>';
exit;
}
然后首先我运行http://mydomain.com/ci/index.php/welcome/settingSess,它的输出如下,非常完美:
Array (
[session_id] => dd0a684ab53e937309ee9fdbcf24468f
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
[last_activity] => 1371458835
[user_data] =>
[sessVar] => Array
(
[start] => 456
[lets_test0] => 0
[lets_test1] => 100
.
.
[lets_test999] => 99900
)
)
然后我运行http://mydomain.com/ci/index.php/welcome/gettingSess,它的输出如下:
Array(
[session_id] => dd0a684ab53e937309ee9fdbcf24468f
[ip_address] => 127.0.0.1
[user_agent] => Mozilla/5.0 (Windows NT 6.1; rv:21.0) Gecko/20100101 Firefox/21.0
[last_activity] => 1371458835
[user_data] =>
)
请建议我做错了什么以及问题是什么,为什么我没有在getSess方法中获取会话变量。
谢谢。