CentOS nginx+php7.0下安装Redis及Redis的PHP扩展

1、安装Redis

1.1 如果没有安装wget,安装wget

yum install wget

1.2 在http://redis.io/download页面查看redis版本,并下载安装(注意可以切换最新版本安装,这里以4.0.9版本为例)

wget https://download.redis.io/releases/redis-4.0.9.tar.gz

1.3 解压,并进入解压目录进行编译。编译成功后会在redis-3.2.0目录下生成相关文件

$ tar xzf redis-4.0.9.tar.gz

$ cd redis-4.0.9

$ make

如果make时没有发现gcc,那么安装gcc

yum install gcc gcc-c++ kernel-devel 

再次make,如果出现如下错误

zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such fileor directory

zmalloc.h:55:2: error: #error"Newer version of jemalloc required"

则使用如下命令进行make

make MALLOC=libc

如果make时若出现  Redis server.c:5103:19: server.c:5174:31: error: ‘struct redisServer’ has no member named ‘server_cp  请走如下流程:      

1)安装gcc套装:

yum install cpp
yum install binutils
yum install glibc
yum install glibc-kernheaders
yum install glibc-common
yum install glibc-devel
yum install gcc
yum install make
2)升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

3)设置永久升级:

echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

上面是补录安装相关的包

1.4 在文件夹redis-4.0.9下启动redis服务,输入如下命令后回车。

./src/redis-server redis.conf &

1.4 检测

#检测后台进程是否存在

ps -ef |grep redis

#检测6379端口是否在监听

netstat -lntp | grep6379

#使用`redis-cli`客户端检测连接是否正常

./src/redis-cli

127.0.0.1:6379> keys *

(empty list or set)

127.0.0.1:6379>set key "hello world"

OK

127.0.0.1:6379>get key

"hello world"

设置密码:127.0.0.1:6379>  config set requirepass “密码”

配置1 redis.conf配置文件,bind 127.0.0.1   屏蔽掉

配置2 在 redis.conf 中找到 protected-mode 将后面的 yes 改为 no

配置3 在 redis.conf 中找到 daemonize 将后面的 no 改为 yes

配置4 在 redis.conf 中找到 requirepass foobared ,可在下面添加 requirepass 你的密码

1.5 停止服务

#使用客户端

./src/redis-cli shutdown

#因为Redis可以妥善处理SIGTERM信号,所以直接kill -9也是可以的

kill -9PID

2、安装Redis的PHP扩展

安装前 请检查 php -v  版本保障是 7.0 以上版本 否则会出错

2.1 安装phpize

yum install php-devel

2.2 安装扩展phpredis

使用git clone下载git上的phpredis扩展包

[root@localhost local ]# wget http://pecl.php.net/get/redis-4.0.2.tgz

tar -zxvf redis-4.0.2.tgz

mkdir phpredis

cp redis-4.0.2/* phpredis/

到了这一步,我们要使用安装php时生成的phpize来生成configure配置文件,

//具体用哪个要取决于你的phpize文件所在的目录,这时你应该用 whereis phpize 来查看路径

[root@localhost local ]# whereis phpize
phpize: /usr/bin/phpize /usr/share/man/man1/phpize.1.gz

这里表明路径为/usr/bin/phpize,然后执行:

[root@localhost phpredis ]# /usr/bin/phpize

错误1:
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command.

这里报错了,原因是没有安装好php-devel,由于我是使用的php7.0所以执行以下命令:

[root@localhost phpredis]#yum -y install php70w-devel

错误2:

Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment

解决:yum install autoconf

然后再次执行:

[root@localhost phpredis]# /usr/bin/phpize
Configuring for:
PHP Api Version: 20151012
Zend Module Api No: 20151012
Zend Extension Api No: 320151012 

参考:在centos7中为php7安装redis扩展_大明湖畔黑熊怪丶的博客-CSDN博客_php7 redis扩展

执行完上一步,我们就有了 configure 配置文件了,接下来配置

此处的--with-php-config=右边的php-config必须为当前php -v 版本下的配置文件,请根据自己的实际情况而定。此处耽误了不少时间(本人使用whereis php-config搜索php-config,搜索的不全,建议使用find 命令搜索的全面,以防使用错了路径)

$ ./configure --with-php-config=/lnmp/php71/bin/php-config

#这个路径根据实际你环境情况进行修改

$ make && make install

编译完成后显示:

Build complete. 

Don't forget to run 'make test'.  Installing shared extensions:    /usr/lib64/php/modules/

进入/usr/lib64/php/modules/文件夹,发现redis.so的扩展 

2.3 在php安装环境下 修改*/lib/php.ini,添加下面的扩展

extension=redis.so

2.4 重启php服务器

最后查看phpinfo,显示如下,代表安装成功:



参考:https://www.jianshu.com/p/e14ebbda5737

接下来修改redis.conf,设置密码和后台运行方式。

$ vim /usr/local/redis/redis.conf

requirepass foobared

前面的注释去掉,改成你的密码,如

requirepass 123456

daemonize yes

改为

daemonize yes

保存好即可。

测试:

复制代码

复制代码

<?php
    //连接本地的 Redis 服务
   $redis = new Redis();
   $redis->connect('127.0.0.1', 6379);
   $redis->auth('123456');
   echo "Connection to server sucessfully";
   //查看服务是否运行
   echo "Server is running: " . $redis->ping();

复制代码

复制代码

当前,我系统安装的PHP版本是7.2,实验证明PHP7.2已经支持Redis了。

如果执行phpize时报错: Cannot find autoconf. Please check your autoconf installation and the $PHP_AUTOCONF environment variable. Then, rerun this script.

解决方法:

安装依赖 autoconf

$ yum -y install autoconf

参考:CentOS7 安装Redis和PHP-redis扩展 - 风与叶子 - 博客园
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

PrinciplesMan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值