问题
yii2中使用redis作为session存放点,已经配置好redis,而且redis使用一切正常,但是session的任何操作都不能正常使用。
配置如下:
1234 'session' => ['class'=>'yii\redis\Session','redis' => 'redis']没有抛出错误,但是查看日志发现:
session_start(): Failed to read session data: user
环境
- php 7.1.9
- apache 2.4
原因
是php7.1导致的,下面是官方解释:(
http://php.net/manual/en/sessionhandlerinterface.read.php
)
解决方法
重写yii2-redis中的Session.php
readSession方法(115行~120行)
123456 public function readSession($id){$data = $this->redis->executeCommand('GET', [$this->calculateKey($id)]);return $data === false || $data === null ? '' : $data;}