今天准备在lnmp环境下redis并配置redis扩展,查了很多资料,也踩了很多的坑,今天就把我的操作过程以及踩的坑分享一下
一.安装redis
1 安装redis
cd /usr/local //我准备把安装包之类的放在这里
wget http://download.redis.io/releases/redis-4.0.8.tar.gz //下载
tar xzf redis-4.0.8.tar.gz //解压
cd redis-4.0.8
make
2.运行redis
src/redis-server
这个样子就OK了,这个图片是我本地的,和linux的会有差别
Ctrl+c 退出
如果想要在在后台运行 找到你的 redis.conf 文件(刚才解压的在哪儿就去哪儿找)将
daemonize no 改为 daemonize yes
然后启动
src/redis-server redis.conf
3.测试redis
输入 src/redis-cli
出现如下的信息
测试
set test HelloWorld //写入缓存
get test //读取缓存
成功
Ctrl+c 退出
二.安装php的redis扩展
- 下载redis 网址https://pecl.php.net/package/redis
我下载的是5.3.4的,仍然放在了/usr/local 文件夹下
tar -zxvf redis-5.3.4.tgz
cd redis-5.3.4
/usr/bin/phpize
(1)如果/usr/bin/phpize 报错 No such file or directory 那就用 /usr/local/php/bin/phpize 试试
还不行的话 你需要安装 php-devel
yum -y install php-devel
或
yum -y install php70w php-devel
具体用那种 看你的php 版本 如果你是linux 默认的PHP版本,用第一个就可以,我的是php7.0.33
用的是 php70w php-devel .不确定自己PHP版本的,用 php -v 命令查看
如果出现如下错误
Error: php70w-common conflicts with php-common-5.4.16-42.el7.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
就是你按错版本了可在后面加个 --skip-broken 重新安装
类似
yum -y install php70w php-devel --skip-broken
(2)如果/usr/bin/phpize 报错 Cannot find config.m4
可能是你进错文件夹了 在需要扩展编译的PHP模块目录中进行/usr/bin/phpize这样才不会报错
我的就是进入/usr/local/redis-5.3.4中编译
如果没有进错文件夹还报错的话,那就是文件名字有问题,查看文件夹下是否有config0.m4,将其改为config.m4
没有错误了以后
./configure --with-php-config=/usr/bin/php-config 或 ./configure --with-php-config=/usr/local/php/bin/php-config #配置 按自己phpize路径的写
make
make install
2.修改php.ini 文件
在php.ini 文件中增加以下内容
extension=redis.so
重启php
查看是否有redis,我的当时是没有的,把我弄蒙了,还以为安装错了,仔细的看了我的
发现我的扩展读取的是/etc/php.d 文件夹下的配置文件
因此我删除了php.ini中添加的内容,然后在/etc/php.d 下创建了redis.ini 在里面增加了内容extension=redis.so
重启php ,成功