phpredis - php使用redis作为session的保存工具
阿神
阿神 2017-04-10 15:13:46
0
3
412

在php使用redis作为session的保存工具时,遇到session被清理的问题导致用户没法登陆
请问该如何解决

我使用两种方式来定义session的保存机制
一种是

phpini_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中来判断是否登陆

阿神
阿神

闭关修行中......

répondre à tous (3)
迷茫

我感觉是你的配置有问题吧,我贴一下我的配置。
[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扩展呢?

    迷茫

    楼主的问题问的太大了,就好象用户在问为什么我这个网站打不开,楼主至少把提示什么错误、你是怎么调用的等等这种东西写出来
    先确定下你的redis是否需要账号密码,再试下把php配置里面的localhost改成127.0.0.1

      小葫芦

      其实我比较喜欢使用memcahced 来存储session这类数据!
      原因如下:
      1.无需设置密码
      2.数据结构简单,且响应速度很快
      3.做分布式很方便,一台机器专门放session,做共享

        Derniers téléchargements
        Plus>
        effets Web
        Code source du site Web
        Matériel du site Web
        Modèle frontal
        À propos de nous Clause de non-responsabilité Sitemap
        Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!