redis结合php

redis如何结合php并且实现session共享?

1.Redis扩展模块安装

1. 先安装php的redis扩展,和memcached安装是一样的。

首先可以去pecl.php.net 官网下载安装包,我这里下载的2.8.21版本 # tar zxf redis-2.8.21.tgz # cd redis-2.8.21 # /usr/local/php/bin/phpize # ./configure --with-php-config=/usr/local/php/bin/php-config # make && make installl安装完成

然后修改php.ini,在之前我已经把extension_dir = "./" 修改为

extension_dir = "/usr/local/php/extensions"了。

现在在添加一行 extension="redis.so"保存

/usr/local/php/bin/php -m |grep redis 可以检验扩展模块是否添加成功。

php脚本测试可以按照之前memcached的文章一样的测试,这里就不说了可以看看前面的文章— —《memcached结合php》

2.Redis实现session共享

在apache虚拟主机加入(lamp环境测试)

php_valuesession.save_handler " redis"

php_valuesession.save_path " tcp://127.0.0.1:6379"

或者php-fpm.conf对应的pool中加入(lnmp环境测试)

php_value[session.save_handler] = redis

php_value[session.save_path] = " tcp://127.0.0.1:6379 "

3.Redis存储session测试

先编辑一个简单php测试文件

vim session.php

#############

<?php

session_start();

if (!isset($_SESSION['TEST'])) {

$_SESSION['TEST'] = time();

}

$_SESSION['TEST3'] = time();

print $_SESSION['TEST'];

print "<br><br>";

print $_SESSION['TEST3'];

print "<br><br>";

print session_id();

?>

####################

curl localhost/session.php

输出类似于1469333260<br><br>1469333260<br><br>jaesi8ummenfqbcnojvc6935p7

连接redis:/usr/local/redis/bin/redis-cli

127.0.0.1:6379> keys * //把所有的key都列出来

"PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7"

127.0.0.1:6379> get PHPREDIS_SESSION:jaesi8ummenfqbcnojvc6935p7

"TEST|i:1469333260;TEST3|i:1469333260;"

也可以用浏览器测试输入:IP/session.php

然后在redis上查看是否多出了一个和网页显示一样的key,get这个key可以得到value结果和浏览器显示的也是一致的。

本文分享自微信公众号 - 风帆(wdswhf),作者:风

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • ThinkPHP5配置Config

    Config文件包含:2个属性,7个方法。其中2个属性为私有静态属性,外部不可访问。7个方法为公有静态方法,外部可以直接用类名访问,不需要实例化。

    php007
  • Windows下ThinkPHP与Linux互通之exec或shell_exec问题

    最近在做一个项目需要用到PHP调用Linux命令行脚本,在服务器执行命令是可以的,但是当放在项目代码中,在web中执行命令就不行了,调试了一天,终于可以了!

    php007
  • PHP漏洞之-Session劫持

    服务端和客户端之间是通过session(会话)来连接沟通。当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session。每个用户的session都是...

    php007
  • phpize是什么

    安装php(fastcgi模式)的时候,常常有这样一句命令:/usr/local/webserver/php/bin/phpize 一、phpize是干嘛的?...

    Java架构师必看
  • Amazing phpinfo()

    前记 Xdebug 前记 定义 开启Xdebug 适用目标 实验效果 注意事项 session.upload_progress 定义 开启session.upl...

    安恒网络空间安全讲武堂
  • 困扰已久的问题 cgi、fastcgi、PHP-fpm 汇总

    无论是php,python编程语言,还是apache,nginx服务器对于cgi协议是个绕不开的话题。安装,部署都会经常的看到,那么它们到底是干什么的,网上的答...

    猿哥
  • Composer (四) -- 其他自动加载方法

    composer 自动加载 这篇写了自动加载及自定义类使用 psr4 加载。下面介绍下另两种自动加载的方式。1. classmap. 2 files

    caoayu
  • centos7 PHP环境搭建 GD库 等插件安装方法

    查了资料,说法是,CentOS7用的是Firewall-cmd,CentOS7之前用的是iptables防火墙;要想让外网能访问到apache主目录,就需要做以...

    砸漏
  • 如何利用宝塔面板修改wordpress网站的上传大小限制和php执行超时限制

    如何利用宝塔面板修改wordpress网站的上传大小限制和php执行耗时,需要修改php的配置文件信息php.ini,利用宝塔非常的方便修改的,我们可以选中自己...

    wordpress建站吧
  • WordPress自定义栏目运用实例III:添加原创/转载文章不同版权声明

    这里是WordPress自定义栏目运用实例系列第三讲,为大家带来用自定义栏目添加原创/转载文章不同版权声明。跟本上,这个与之前的《WordPress自定义栏目运...

    Jeff

扫码关注云+社区

领取腾讯云代金券