我正在使用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
答案 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更新。