为了账号安全,请及时绑定邮箱和手机立即绑定

ci无法设置session的问题

ci无法设置session的问题

PHP
Helenr 2019-03-13 16:54:25
用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);
查看完整描述

4 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

原来的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出问题导致的

查看完整回答
反对 回复 2019-03-18
?
慕村9548890

TA贡献1884条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
?
翻阅古今

TA贡献1780条经验 获得超5个赞

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

查看完整回答
反对 回复 2019-03-18
?
慕标5832272

TA贡献1966条经验 获得超4个赞

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

查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 597 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信