一、方案1
方案1特别简单,直接用ini_set设置session的存储方式和存储路径即可,如下:
ini_set('session.save_handler', 'redis'); ini_set('session.save_path', 'tcp://127.0.0.1:6379?auth=123456');这样,我们的session信息就可以保存到redis中了。如下图:
二、方案2
方案2是使用session_set_save_handler来实现session的存储。
1、配置redis参数
//redis配置 $GLOBALS['config']['redis'] = [ 'host' => '127.0.0.1', // redis主机 'port' => 6379, // redis端口 'password' => '', // 密码 'select' => 0, // 操作库 'expire' => 3600, //有效期 'timeout' => 0, // 连接超时时间(单位:毫秒) 'prefix' => 'PHPREDIS_SESSION:', // key前缀 ];
2、存储类
<?php class SessionRedis extends SessionHandler { protected $handler = null; protected $config = [ 'host' => '127.0.0.1', // redis主机 'port' => 6379, // redis端口 'password' => '', // 密码 'select' => 0, // 操作库 'expire' => 3600, // session有效期 'timeout' => 0, // 连接超时时间(单位:毫秒) 'prefix' => '', // key前缀 ]; public function __construct($config = []) { $this->config = array_merge($this->config, $config); //var_dump($this->config); } /** *