在阿里云服务器上装 redis,本以为 Linux 下会比 windows 下安装及配置 redis 容易些,结果还是出了不少错误,有点曲折,好在一一通过百度解决了,下面记录下:
1、使用命令从 redis 官网下载安装包:
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
$ tar xzf redis-4.0.9.tar.gz
$ cd redis-4.0.9
$ make
现在二进制编译的文件都在 src 目录,可以直接开启 redis 服务:src/redis-server。
新建一个 xshell 会话,利用客户端测试:
$ src/redis-cli
127.0.0.1:6379> set user yi
OK
127.0.0.1:6379> get user
"yi"
这只是最基础一步,但现在 php 还不能使用 redis ,因为还没创建扩展模块。如下步骤继续:
2、将 src 目录下的 redis-server、redis-cli、redis-benchmark 和 src 同级目录下的 redis-conf 文件都复制移到目录 /usr/redis 下面。
cp redis-server /usr/redis
cp redis-benchmark /usr/redis
cp redis-cli /usr/redis
cp ../redis.conf /usr/redis
3、切换到 usr/redis 目录启动 redis 服务并测试。
cd /usr/redis
$ redis-server redis.conf
//启动客户端测试
$ redis-cli
127.0.0.1:6379> set user 'yi'
OK
127.0.0.1:6379> get user
"yi"
4、下载解压 redis 库,可以直接网上地址下后者下载到本地后上传至服务器。下载网址:http://pecl.php.net/package/redis。我是下载 redis-2.2.8.tgz 版本到本地再使用 rz 命令上传至服务器后解压。
5、执行命令 /usr/bin/phpize(phpize的位置,根据你的php安装目录有所不同),得到configure文件。
/usr/bin/phpize
Can't find PHP headers in /usr/include/php
The php-devel package is required for use of this command
报错了,需要安装 php-devel 才能执行此命令,由于我 php 版本是 5.6,所以执行语句 yum install php56w-devel。
yum install php56w-devel
6、安装完成后再执行 /usr/bin/phpize
[root@iZwz9a88ifrxe00atxs0ejZ usr]# /usr/bin/phpize
Cannot find config.m4.
Make sure that you run '/usr/bin/phpize' in the top level source directory of the module
原来要到此扩展模块目录下敲此句目录才有效!!!我现在 redis 库目录是 redis-2.2.8
[root@iZwz9a88ifrxe00atxs0ejZ redis-2.2.8]# /usr/bin/phpize
Configuring for:
PHP Api Version: 20131106
Zend Module Api No: 20131226
Zend Extension Api No: 220131226
成功执行后继续执行以下命令配置:(php-config目录自己查,下面仅供参考)
[root@iZwz9a88ifrxe00atxs0ejZ redis-2.2.8]# ./configure --with-php-config=/usr/bin/php-config
7、make 和 安装
[root@iZwz9a88ifrxe00atxs0ejZ redis-2.2.8]# make
[root@iZwz9a88ifrxe00atxs0ejZ redis-2.2.8]# make install
Installing shared extensions: /usr/lib64/php/modules/
# 到此扩展下载安装完成
到目录 modules 下查看扩展模块:
8、到 /etc/php.d 目录下,创建 redis.ini,参考其他文件配置:
cd /etc/php.d
vi redis.ini
文件内容:extension=redis.so
9、重启 apache服务,service httpd restart,成功!查看 phpinfo 如下:
成功后,编写文件测试下:
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', '6379');
// $redis->auth('yibin94');
$redis->set('username','yibin1994');
echo $redis->get('username');
$redis->close();
结果如下即代表成功!!若失败的话就看下是否已开启 redis-server 服务。
搞定!晚安了!