LNMP(Linux+Nginx+MySQL+PHP) yum方式安装Redis
一、环境信息
- CentOS Linux release 8.1.1911 (Core)
- Redis server v=5.0.3
二、yum方式安装
1、添加EPEL仓库
sudo yum install epel-release
2、更新
sudo dnf update
3、使用 CentOS 8 默认的仓库进行安装
sudo dnf install redis
4、启动
systemctl start redis
5、设置开机自启
systemctl enable redis
6、设置防火墙等操作。。。
7、本机测试
redis-cli
8、成功连接之后,输入
ping
如果输出
PONG
则说明Redis可以正常使用
三、PHP安装Redis扩展
1、确保PHP安装了php-devel扩展。安装php-devel扩展命令
yum install php-devel
2、下载PHP的Redis扩展(wget下载文件时,默认下载到当前目录,所以先确定自己需要安装在哪个文件下)
wget https://github.com/phpredis/phpredis/archive/develop.zip
3、下载完成后,解压文件
unzip develop.zip
4、解压后会出现一个 phpredis-develop 的文件夹,进入这个文件夹,执行
phpize
5、执行成功之后,在当前文件夹下就会出现 configure,再执行配置(--with-php-config=/usr/bin/php-config 指定安装 PHP 的时候的配置)
./configure -with-php-config=/usr/bin/php-config
6、使用root用户进行安装
sudo make install
如果出现 Installing shared extensions: /usr/lib64/php/modules/ ,说明安装成功。
7、使用命令进入php配置文件
sudo vim /etc/php.ini
8、在配置文件末尾添加一行代码(extension=redis.so),保存退出。
9、若make test 出错,或者重启php-fpm失败, 出现
PHP Warning: PHP Startup: Unable to load dynamic library 'redis.so' (tried: /usr/lib64/php/modules/redis.so (/usr/lib64/php/modules/redis.so: undefined symbol:
php_json_decode_ex), /usr/lib64/php/modules/redis.so.so (/usr/lib64/php/modules/redis.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
原因是安装的Redis扩展和json扩展加载顺序冲突导致报错。
将php.ini里加入的extension=redis.so删除,
进入/etc/php.d文件夹,创建redis.ini,
在redis.ini中加入:
;redis
extension=redis.so
10、重启php-fpm
sudo systemctl restart php-fpm
11、如果启动成功,用 php -m 命令就可以查看到Redis的扩展。
本文参考的主要文章:
centos下安装php-redis扩展
linux php-redis扩展安装错误 php_json_decode_ex
每一次的结束都意味着新的开始