php session redis db,php session redis 配置

具体环境:

一台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扩展

点击(此处)折叠或打开

yum install php-pecl-redis

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

more index.php

点击(此处)折叠或打开

php

phpinfo()

?>

浏览器访问如下:

46ffd2d561d0736ac7d5c1df5aa8144e.png

如上图说明安装成功,这里版本号和redis本身的版本号不同,大家可以忽略。

3、然后修改php.conf文件,可能很多人会疑问不是修改php.ini文件吗?一会下面我会说。

点击(此处)折叠或打开

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

将如下两行:

点击(此处)折叠或打开

php_value session.save_handler "files"

php_value session.save_path "/var/lib/php/session"

修改为如下内容

点击(此处)折叠或打开

php_value session.save_handler "redis"

php_value session.save_path "tcp://192.168.9.131:6379"

这里有一些文章里面加了tcp,有的没有加,本人测试过加或者不加session都可以存放在redis里面。

我个人理解的意思是:加了tcp表示tcp协议,如果没有加则表示通过http协议。如果不对请勿喷~~

保存退出后重新启动httpd服务

4、写一个测试页面test.php,内容如下:

点击(此处)折叠或打开

header("Content-type:text/html;charset=utf-8");

session_start();//这个很重要

$_SESSION['test_session']= @array('name' =>'fanqie' , 'ccc'=>'hello redis ');

$redis = new redis();

$redis->connect('192.168.9.131', 6379);

echo 'sessionid>>>>>>> PHPREDIS_SESSION:' . session_id();

echo '

';

echo '

';

//redis用session_id作为key并且是以string的形式存储

echo '通过php用redis获取>>>>>>>'.$redis->get('PHPREDIS_SESSION:' . session_id());

echo '

';

echo '

';

echo '通过php用session获取>>>>>>>

';

echo ' ';

var_dump($_SESSION['test_session']);

echo '';

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

24265d39bc97653a1f9229f4ef7a9a99.png

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

8cab45501f4b4844e6b930864df09f24.png

redis中的session值和浏览器访问的值一样,说明成功。

这里我说一下为什么我直接修改的php.conf文件,而不是php.ini文件

如果你两个都配置了,它们的优先级比较高的是php.conf文件。所以说如果你想配置php.ini文件,你还需要注释掉php.conf中默认存本地的方式。这样更复杂繁琐。相信大家会选择上面比较简单的方式。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值