使用PHP 7.0在Redis中使用Codeigniter会话错误

时间:2016-01-06 12:48:16

标签: php codeigniter redis

我正在使用CI版本3.0.3,PHP版本7.0,Redis和MariaDB。当我在数据库中存储会话数据时,没有错误。但是,如果我切换到Redis,每次会话尝试通过session_regenerate_id重新生成时都会出错,在我的情况下每300秒。但是,如果我再次刷新页面,Redis会更新并加载页面而不会出错。

  

遇到PHP错误

     

严重程度:4096

     

消息:session_regenerate_id():无法创建(读取)会话ID:user   (路径:tcp:// localhost:6379?auth = xxxx)

     

文件名:Session / Session.php

     

行号:625

2 个答案:

答案 0 :(得分:0)

这是一个php / memcached错误related

解决方法:

class MemcachedSession extends SessionHandler { public function read($session_id) { return (string)parent::read($session_id); } }

$sess = new MemcachedSession(); session_set_save_handler($sess, true);

session_start(); $_SESSION['value'] = session_id(); session_regenerate_id(); ?>

答案 1 :(得分:0)

请参阅https://github.com/bcit-ci/CodeIgniter/commit/79b8a086187f199bb708bd56477850fbf1dd9e91以获取有关CI 3.0.3

的修复程序

CI 3.0.4将附带开箱即用的PHP 7更新。

感谢https://github.com/narfbg