ci无法设置session的问题

发布于 2022-09-05 22:08:51 字数 717 浏览 16 评论 0

用ci写了个登录页,代码如下:

print_r($this->session->userdata());
$this->session->set_userdata('test',rand(564,489426354465));
echo '<br>';
print_r($this->session->userdata());

输出:


Array ( [__ci_last_regenerate] => 1497598658 ) 
Array ( [__ci_last_regenerate] => 1497598658 [test] => 115826667932 )

无论刷新多少次页面,session里都不存在test的值,只是__ci_last_regenerate的时间戳增加了,请问这是为什么?有人遇到过这情况吗?

检查1,不是php配置问题,我在根目录建了个php文件,代码如下,每次输出都能输出正确的session

session_start();
ob_start();

print_r($_SESSION);
$_SESSION['test'] = rand(456,4984945569);
print_r($_SESSION);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

捶死心动 2022-09-12 22:08:51

原来的ci版本是 3.1.0 (/system/core/CodeIgniter.php中定义的一个常量),后来用 3.1.3 的 system中所有文件覆盖了它,问题就解决了,这算是 3.1.0 的bug?

之前是用 php5.5的,前几天改成了 php7.1.4,不知道是不是这个原因导致的


2017年06月29日15:57:00
根据楼下几位的回答,可以确定是因为 CI 旧版本在 php7 环境下session出问题导致的

许一世地老天荒 2022-09-12 22:08:51

PHP7对session 有影响,建议用最新的3.1.4版本,我是nginx上跑的。PHP 7正常记录。

嗳卜坏 2022-09-12 22:08:51

我也是刚好遇到这样的情况。之前是3.06版本,现在php升级到php7了。session也没效果。后来,下个3.1.4版本,session却是好的。

心舞飞扬 2022-09-12 22:08:51

我用的是3.0.6,也出现了这个问题,我下载ci最新的版本,提取出里面的session文件夹,将旧版的的session进行替换就可以了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文