方法1、php
session.save_handler = redis
session.save_path = “tcp://127.0.0.1:6379″
修改后重启php-fpm或nginx,phpinfo()nginx
方法2、redis
ini_set(“session.save_handler”,”redis”);
ini_set(“session.save_path”,”tcp://127.0.0.1:6379″);服务器
若是配置文件/etc/redis.conf里设置了链接密码requirepass保存session的时候会报错,save_path这样写 tcp://127.0.0.1:6379?auth=authpwd 便可。session
<?php session_start(); $_SESSION['redis'] = "aaaaaa"; echo session_id(); echo "<br>"; echo $_SESSION['redis']; echo "<br>"; $redis = new redis(); $redis->connect('192.168.1.108', 6379); echo $redis->get("PHPREDIS_SESSION:ruk5i2vlu2hvtmfr5hig4l55f6");//这个key我是经过telnet到redis查的。 ?>
echo session_id();显示出来是ruk5i2vlu2hvtmfr5hig4l55f6,开始的时候,echo $redis->get("ruk5i2vlu2hvtmfr5hig4l55f6");无论怎么样都取不到值,由于memcache这样是能够取 到值的,因此我就想redis估计也是这样。telnet到redis看了一下,原来命名key值的方式是不同的,看下图tcp
redis telnet查看sessionphp-fpm
到这儿session存储到redis是没有问题了,怎么同步呢。多服务器时,redis是能够配置同步的ui