• php session redis 配置


    相信很多人用过数据库,Memcache以及文件存储SESSION,那么Rdis可以存储SESSION吗?答案是肯定的。
    具体环境:
    一台apache+PHP的服务器(yum安装remi源及配置 httpd-2.2.15 php-5.4.45)
    一台Redis服务器(yum安装remi源及配置 redis-3.2.6)
    保证apache服务器可以访问redis服务器的6379端口
    具体步骤:
    1、在apache+php服务器上安装redis扩展

    点击(此处)折叠或打开

    1. yum install php-pecl-redis

    2、测试php是否安装扩展成功
    more index.php

    点击(此处)折叠或打开

    1. php
    2. phpinfo()
    3. ?>

    浏览器访问如下:

    如上图说明安装成功,这里版本号和redis本身的版本号不同,大家可以忽略。
    3、然后修改php.conf文件,可能很多人会疑问不是修改php.ini文件吗?一会下面我会说。

    点击(此处)折叠或打开

    1. more /etc/httpd/conf.d/php.conf

    将如下两行:

    点击(此处)折叠或打开

    1. php_value session.save_handler "files"
    2. php_value session.save_path "/var/lib/php/session"

    修改为如下内容

    点击(此处)折叠或打开

    1. php_value session.save_handler "redis"
    2. php_value session.save_path "tcp://192.168.9.131:6379"

    这里有一些文章里面加了tcp,有的没有加,本人测试过加或者不加session都可以存放在redis里面。
    我个人理解的意思是:加了tcp表示tcp协议,如果没有加则表示通过http协议。如果不对请勿喷~~
    保存退出后重新启动httpd服务
    4、写一个测试页面test.php,内容如下:

    点击(此处)折叠或打开

    1. header("Content-type:text/html;charset=utf-8");
    2. session_start();//这个很重要
    3. $_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis ');
    4. $redis = new redis();
    5. $redis->connect('192.168.9.131', 6379);
    6. echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();
    7. echo '
      ';
    8. echo '
      ';
    9. //redis用session_id作为key并且是以string的形式存储
    10. echo '通过php用redis获取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());
    11. echo '
      ';
    12. echo '
      ';
    13. echo '通过php用session获取>>>>>>>
      ';
    14. echo '
      ';
      			
    15. var_dump($_SESSION['test_session']);
    16. echo '';

    5、测试,通过浏览器访问

    在redis里面查看是否有这个session

    redis中的session值和浏览器访问的值一样,说明成功。
    这里我说一下为什么我直接修改的php.conf文件,而不是php.ini文件
    如果你两个都配置了,它们的优先级比较高的是php.conf文件。所以说如果你想配置php.ini文件,你还需要注释掉php.conf中默认存本地的方式。这样更复杂繁琐。相信大家会选择上面比较简单的方式。

    更多前沿PHP技术请搜索千锋PHP,做真实的自己,用良心作教育

     
  • 相关阅读:
    Linux下管道编程
    【Windows】用信号量实现生产者-消费者模型
    初识【Windows API】--文本去重
    HDU 5183 Negative and Positive (NP) --Hashmap
    【ASC 23】G. ACdream 1429 Rectangular Polygon --DP
    UVALive 4670 Dominating Patterns --AC自动机第一题
    POJ 2225 / ZOJ 1438 / UVA 1438 Asteroids --三维凸包,求多面体重心
    我也来写2014年总结
    UVALive 4870 Roller Coaster --01背包
    UVALive 4864 Bit Counting --记忆化搜索 / 数位DP?
  • 原文地址:https://www.cnblogs.com/Cxymds/p/6896233.html
Copyright © 2020-2023  润新知