概况
最近项目用到Redis,在阿里云买了Redis数据库,ECS通过内网对Redis数据库进行访问,这就需要在ECS上安装访问Redis的客户端。
由于官方文档上的安装配置过程说的比较概括,具体操作细节还需要在网上各种搜索解决,特在此详细总结一下。
我的服务器环境:
- 操作系统:CentOS release 6.8 release (Final)
- 服务器:Apache 2.2.15
- PHP:5.3.3
- MySql:5.1.73
阿里云官方给出了连接Redis客户端的下载地址以及一些测试代码,客户端支持多种语言,我们需要安装phpredis客户端。具体网址如下:
https://help.aliyun.com/document_detail/43848.html?spm=5176.doc43847.6.567.YdvZmt
阿里云网站中给出了phpredis的下载网站,网址为:
https://github.com/phpredis/phpredis?spm=5176.doc43848.2.9.ZRVeZ4#installingconfiguring
点击Download ZIP下载压缩包。下载后解压,并将文件夹上传到服务器,我上传到了usr/local/src文件夹下。
GitHub上对在Linux下的安装做了说明,如下图:
如其所述,我们需要做如下两步完成安装配置:
- 使用phpize完成安装
- 配置php.ini
使用phpize安装phpredis
进入phpredis目录,使用phpize编译安装:
phpize
./configure --enable-redis-igbinary
make
make install
注意:
1. 以上每行都需要打回车。
2. 在打phpize命令时,需要先cd到phpredis的目录下。
在执行上面四行命令的时候,可能会遇到以下问题:
- php-devel没有安装
- igbinary没有安装
由于没有安装php-devel和igbinary,在执行第一个和第二个命令的时候会报错。下面分别安装php-devel和igbinary。安装完成后,重新执行上面的命令。
- 安装php-devel:
有时在输入phpize命令后,系统报如下错误:
Can't find php headers in /usr/include/php
The php-devel package is required for use of this command
输入下面的命令安装php-devel:
yum install php-devel
有时执行上述命令后,会出现类似”phpXX-common conlicts…”的错误,这时候你要看一下自己的php版本,然后选择对应的php-devel版本,例如:
yum install php53-devel
2. 安装igbinary
wget http://pecl.php.net/get/igbinary-1.1.1.tgz
mv igbinary-1.1.1.tgz /usr/local/src
cd /usr/local/src
tar -xzvf igbinary-1.1.1.tgz
cd igbinary-1.1.1
phpize
./configure
make
make install
以上命令每行都要打回车。安装完成后,返回到redis的目录下,安装redis。
配置php.ini
我的php.ini文件的路径为etc/php.ini,如果你的路径与我的不一样,可以通过whereis php.ini命令查找。
打开php.ini文件,在文件最后添加如下两行代码:
extension=igbinary.so
extension=redis.so
修改php.ini后,重启Apache服务器:
service httpd restart
自己写一个简单的输出phpinfo()的文件,放到服务器上访问,如果结果如下所示,则安装成功: