CentOS7 PHP+Redis实现Session共享

先yum简单的安装redis

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum -y install redis

简单配置一下:

vim /etc/redis.conf
daemonize yes
bind 172.16.1.61
启动redis:redis-server /etc/redis.conf

PHP和nginx安装就略过了。。。。

PHP和nginx安装目录都是 :/apps/links/

nginx的站点目录为 /webCodes/blog/ 域名为:blog.lzbbg.cn

PHP默认情况下是不支持对Redis的操作的。所以这里我们需要自己手动安装第三方的扩展,使其支持对Redis的操作。

PHP安装redis插件:名字为:php_redis_plugin.tar.gz 在哪下载我忘了。

tar xf /tmp/php_redis_plugin.tar.gz -C /tmp/
cd /tmp/phpredis
phpize
./configure --with-php-config=/apps/links/php/bin/php-config
make && make install

修改PHP的配置:

vim /apps/links/php/lib/php.ini
[Session]
session.save_handler = redis
session.save_path = "tcp://172.16.1.61:6379"
尾行添加:
extension_dir = "/apps/links/php/lib/php/extensions/no-debug-non-zts-20131226/"
extension = redis.so

重启php-fpm,安装完成。

写个PHP小脚本测试一下:

vim /webCodes/blog/redis.php  

<?php
//ini_set("session.save_handler", "redis");
//ini_set("session.save_path", "tcp://172.16.1.61:6379");
//在php.ini没有配置的话,可以在这里配 session_start();
//存入session $_SESSION['class'] = array('name' => 'toefl', 'num' => );
//连接redis
$redis = new redis();
$redis->connect('172.16.1.61', ); //检查session_id
echo 'session_id:' . session_id() . '<br/>'; //redis存入的session(redis用session_id作为key,以string的形式存储)
echo 'redis_session:' . $redis->get('PHPREDIS_SESSION:' . session_id()) . '<br/>'; //php获取session值
echo 'php_session:' . json_encode($_SESSION['class']);
?>

浏览器访问:http://blog.lzbbg.cn/redis.php

CentOS7  PHP+Redis实现Session共享

查看redis是否实现了session共享:

CentOS7  PHP+Redis实现Session共享

出现以上结果表示PHP+redis的session共享成功了!!!

上一篇:img标签是什么元素?为何margin: 0 auto;对img标签失效?(含解决方法)


下一篇:c++智能指针解析