在php使用redis作为session的保存工具时,遇到session被清理的问题导致用户没法登陆
请问该如何解决
我使用两种方式来定义session的保存机制
一种是
php
ini_set('session.save_handler','Redis'); ini_set('session.save_path','tcp://localhost:6379');
另一种是
session.save_handler = Redis
session.save_path = "tcp://localhost:6379"
在php5.3.28和5.5.10下均不能正常使用session
但是都不能用,请问各位大侠如何解决
ps
@woshicixide 说我写的不详细 那么我就将所有的步骤写一遍
首先是开启redis 使用脚本
redis-server.exe redis.conf
命令运行redis服务器
然后在php.ini中修改session.save_handler 为redissession.save_handler = Redis
然后在php.ini中修改session.save_path 为 "tcp://localhost:6379"session.save_path = "tcp://localhost:6379"
然后重启Apache服务,重载php.ini
打开登陆页面http://localhost/login.php 输入用户名密码 登陆
浏览器自动跳转到登录成功页面,然后自动返回到登陆页ps 在loginaction.php中将登陆的userid写入到session中来判断是否登陆
我感觉是你的配置有问题吧,我贴一下我的配置。
[Session]
; Handler used to store/retrieve data.
; http://php.net/session.save-handler
session.save_handler = redis
session.save_path = "tcp://xx.xx.xx.xx:6789?persistent=1&timeout=3&database=11&auth=d9cxa2xx67f2xxxxxxxxxxxx58exx5xfxd29"
也不知道你的redis起起来了没,亦不知你的web服务器是否也启动了,有没有异常。redis扩展呢?