本文是在安装完lamp环境的情况下进行的,如果没有安装lamp或者lnmp,请先行安装~
一、安装redis
1.1 安装redis
在http://redis.io/download页面查看redis版本,并下载安装,这里我们选择安装redis-3.2.0.tar.gz版本的压缩包
进入/usr/local/src这个临时目录下,我们开始对redis进行安装
命令:cd /usr/local/src
安装命令:wget http://download.redis.io/releases/redis-3.2.0.tar.gz
1.2 解压并编译文件
解压,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件
命令:tar xzf redis-3.2.0.tar.gz
命令:cd redis-3.2.0
开始编译:
命令:make
注:如果编译时报错没有发现gcc,那么安装gcc
命令:yum install gcc gcc-c++ kernel-devel
(如果有gcc且编译时没有报错请跳过这一步)
1.3 启动redis服务并测试是否安装成功
这时请启动redis服务
命令:(启动reids……命令有点长,输入完后按下回车)
命令:/usr/local/src/redis-3.2.0/src/redis-server /usr/local/src/redis-3.2.0/redis.conf &
当看到如下界面时,算是启动成功了

检测后台进程是否存在
命令:ps -ef |grep redis
进程如下所示

使用redis-cli
客户端检测连接是否正常
命令:/usr/local/src/redis-3.2.0/src/redis-cli
如下所示:

我们测试一下是否可以写入值并且取出,如图所示

输入:exit退出客户端界面
1.4 关闭redis服务
关闭redis服务方法如下
命令:/usr/local/src/redis-3.2.0/src/redis-cli shutdown
总结:如此一来,我们在服务器上就已经安装完redis服务了,但是安装完成不代表就可以直接结合php使用,我们需要给php相应的redis扩展,才能通过php操纵redis数据库
二:安装redis的php扩展
2.1 安装phpize (安装前,请检查自己是否之前安装过这个工具)
命令:yum install php-devel
注:由于我一开始安装lamp环境时就有这个工具了,所以我就不装了,如果不知道自己有没有这个工具,请看如下操作
检查是否安装过phpize
命令:find / -name "phpize"
如果有结果,就代表已经安装过了(例如命令执行结果为:/usr/bin/phpize)

2.2 下载扩展源码包,直接用wget方式下载
先返回之前的临时目录下(/usr/local/src)
命令:cd /usr/local/src
命令:wget https://github.com/nicolasff/phpredis/archive/master.zip
2.3 解压
命令:unzip master.zip
进入解压完的目录(解压完的目录名为:phpredis-master)
命令:cd phpredis-master
2.4 使用phpize配置
进入该文件夹后,开始编译php扩展
命令:phpize
如图所示:

2.5 配置并且编译环境
命令: ./configure --with-php-config=/usr/bin/php-config
这里请注意 with-php-config=/usr/bin/php-config 这句话
请把/usr/bin/php-config修改为自己的php配置路径地址
(如果不知道自己的路径在哪的同学请看如下操作)
命令:find / -name "php-config"

我的命令执行结果为:/usr/bin/php-config (把这句话替换上去就可以了)
这里开始编译安装
命令:make && make install
编译完成后显示如下结果就代表编译成功了

进入/usr/lib64/php/modules/文件夹,我们就会发现有redis.so的扩展
2.6 修改php.ini文件,在文件最底部附近添加下面的扩展内容
extension=redis.so
如图所示:

2.7 重启服务器
命令:service httpd restart
最后查看phpinfo,显示如有redis则代表扩展安装成功:

PHP代码测试redis数据库
1 2 3 4 5 6 7 |
<?php $redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->set('name','兰陵美酒郁金香'); $key_1 = $redis->get('name'); echo $key_1; ?> |
如果遇到以下问题,给出了以下方法可以尝试解决
问题1:空白页,未发现php有报错信息
解决方案如下: 请修改php.ini文件
找到error_reporting与display_errors这一段并且修改为如下
将 display_errors = Off 修改为
display_errors = On

将error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT修改为如下

重启服务器即可看到错误
问题2:遇到权限不足问题
例如报错:Fatal error: Uncaught RedisException: Permission denied

解决方案如下:
命令:setsebool -P httpd_can_network_connect=1
问题3:遇到连接失败(解决方案很简单,开启redis服务即可)
例如报错:Fatal error: Uncaught RedisException: Connection refused in…..

解决方案如下:
命令:/usr/local/src/redis-3.2.0/src/redis-server /usr/local/src/redis-3.2.0/redis.conf &
文章评论(1)