一、使用ini_set临时修改php.ini中的session配置(不建议使用)
//使用ini_set实现session存redis (不使用原因:函数危险,上线时要禁用) auth为redis密码
ini_set('session.save_handler' , 'redis');
ini_set('session.save_path' , 'tcp://127.0.0.1:6379?auth=ychusband');
session_start();
$_SESSION['username'] = 'zhangsan';
print_r($_SESSION);
二、直接在php.ini配置文件中修改配置
这种比较麻烦,小编就不展示了。
三、因为ini_set为危险函数,所以PHP为我们提供了另一个专门修改session储存的函数session_set_save_handler,也可以使用这个函数改变session的储存形式。
函数使用方式小编给大家贴出来了,至于类中的具体方法大家就自行补充吧
$redis_save = new RedisSession();
session_set_save_handler(
array($redis_save, 'open'),
array($redis_save, 'close'),
array($redis_save, 'read'),
array($redis_save, 'write'),
array($redis_save, 'destroy'),
array($redis_save, 'gc')
);
class RedisSession
{
private $redis_obj;
private $session_name;
private $expire = 1440;
//打开
function open(){
return true;
}
//关闭
function close(){
return true;
}
//读取
function read($sid){
return serialize([]);
}
//写入
function write($sid,$value){
return true;
}
//清空
function destroy($sid){
return true;
}
//清理
function gc(){
return true;
}
}