目标:在MAC的OSX系统上安装上redis,以及为PHP安装redis的扩展,构建能够运行的PHP-redis环境。

Part1. 安装redis

命令不麻烦,在MacPorts的基础上进行安装。关于MacPorts的相关内容,请参阅我的blog:MAC上的PHP工作环境搭建

port -v install redis

安装很快,redis本体很小。然后我们需要更改redis的配置文件:

mkdir /opt/local/etc/redis
mv /opt/local/etc/redis* /opt/local/etc/redis/
vim /opt/local/etc/redis/redis.conf

需要更改的项如下:

[codesyntax lang="bash"]

daemonize yes
pidfile /opt/local/var/run/redis.pid
port 6379
bind 127.0.0.1  #作为开发环境,只需要绑定自机
loglevel verbose
logfile /Users/jonathan/logs/redis/info.log
rdbcompression yes
dbfilename dump.rdb
dir /opt/local/var/db/redis/
maxmemory 64mb
maxmemory-policy volatile-lru

[/codesyntax]

不要忘记创建日志文件:

touch /Users/jonathan/logs/redis/info.log

最后我们需要创建我们自己的启动脚本:

vim /etc/init.d/redis

[codesyntax lang="bash"]

#!/bin/bash

NAME=redis
CONFIG=/opt/local/etc/redis/redis.conf
SERVER=/opt/local/bin/redis-server
CLI=/opt/local/bin/redis-cli

case "$1" in
  start)
        echo -n "Starting redis: "
        $SERVER $CONFIG
        echo "$NAME."
        ;;
  stop)
        echo -n "Stopping redis: "
        $CLI shutdown
        echo "$NAME."
        ;;
  restart)
        echo -n "Restarting PHP_CGI: "
        $CLI shutdown
        sleep 1
        $SERVER $CONFIG
        echo "NAME."
        ;;
  *)
        echo "Usage: $NAME {start|stop|restart}" >&2
        exit 1
        ;;
esac

exit 0

[/codesyntax]

Part2. 安装PHP扩展

redis的PHP的扩展在pecl网站上居然没有。查了下redis官方的clients页面,发现PHP的客户端居然有这么多,囧了呀。仔细看了一遍,发现官方推荐的客户端倒也不多,就只有两个,其中只有一个是用C语言作为PHP的扩展编写的。于是就装这个啦。

先下源码编译:

git clone git://github.com/nicolasff/phpredis.git
cd ./phpredis
phpize
make
make install

然后编写ini文件:

vim /opt/local/etc/php5/conf.d/redis.ini

内容:

extension=redis.so

重启php-cgi,然后看看phpinfo()吧,应该有redis了。