0

Mac下安装PHPRedis扩展支持

在 PHP 中使用 Redis 前, 需要确保已经安装了 Redis 服务及 PHP redis 驱动,并且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动,下载地如下:
https://github.com/phpredis/phpredis/releases
 

第一步:PHP安装redis扩展

本文选择的是最新的phpredis-4.1.1版本,下载完毕后解压缩到本地文件夹

注意,下面的操作需要用到两个文件夹路径

首先,找到你安装完成后phpize这个程序的路径,也就是php安装后的路径,本文安装的路径如下: /usr/local/php5/bin/phpize #php安装后的路径

接下来,在终端中使用cd命令进入phpredis-4.1.1解压缩后的文件夹,然后运行php安装路径中的phpize,为redis准备编译环境(下面4条命令,相继执行,phpize为你自己机器上安装目录)

cd /Users/mac/Desktop/document/training/construct/redis/redisForPHP/phpredis-4.1.1

/usr/local/php5/bin/phpize

./configure --with-php-config=/usr/local/php5/bin/php-config

make && make install

上面的命令如果执行失败,可以在.configure和make命令时候加上管理员操作权限sudo。 如果执行成功,没有问题,那么恭喜你,phpredis扩展安装成功。但是现在还不能在php中直接编码操作redis服务器,接下来对php运行进行配置,加载安装后的redis扩展
注意:

执行完make命令后,注意下这样一段显示内容:

Installing shared extensions:/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212/

这个就是编译后redis.so扩展库所在目录,接下配置php.ini要用到。

第二步:修改php.ini文件
sudo vi /usr/local/php5/lib/php.ini

再次提醒,找到你自己的php.ini路径,打开它,在MAC中编辑php.ini最好加上管理员权限,在适当的位置添加如下内容:

extension_dir = "/usr/local/php5/lib/php/extensions/no-debug-non-zts-20121212"

extension=redis.so


第三步:重启Apache服务器
安装完成后重启Apache服务器。
sudo apachectl restart
查看phpinfo信息,就能看到redis扩展。




下面通过具体的代码来测试一下安装效果:
<?php
/**
 * Created by PhpStorm.
 * User: mac
 * Date: 2018/10/15
 * Time: 上午11:04
 */


$redis = new  Redis();
//链接Redis服务器
$redis->connect('127.0.0.1', 6379);
//密码验证
$ret = $redis->auth("123456");

//判断是否成功
if($ret) {
    echo "Connection to Redis server sucessfully <br/>";
    echo "Server is running " . $redis->ping() . "<br/>";
}else{
    die("Connection to server error!");
}

//1.设置 redis 字符串数据
$redis->set("homepage_Key", "www.jbsage.com");
//获取存储的数据并输出
echo "Stored homepage string in redis:: " . $redis->get("homepage_Key"). "<br/>";



//2.存储数据到列表中
$redis->lpush("article-list", "PHP Redis");
$redis->lpush("article-list", "PHP Mongodb");
$redis->lpush("article-list", "PHP Mysql");

//3.获取存储的数据并输出
$arList = $redis->lrange("article-list", 0 ,9);
echo "Stored article-list in redis: ";
var_dump($arList);



//4.获取数据并输出
$keyList = $redis->keys('*');
echo "Stored keys in redis: ";
var_dump($keyList);

浏览器中执行以上代码输出结果如下:
Connection to Redis server sucessfully 

Server is running +PONG

Stored homepage string in redis:: www.jbsage.com

Stored article-list in redis:
array (size=3)
  0 => string 'PHP Mysql' (length=9)
  1 => string 'PHP Mongodb' (length=11)
  2 => string 'PHP Redis' (length=9)

Stored keys in redis:
array (size=2)
  0 => string 'article-list' (length=12)
  1 => string 'homepage_Key' (length=12)

恭喜你,已经有了一个完美的开头,接下来可以在PHP中针对Redis做实际的开发了。发挥你的想象吧!