Mac系统MAMP环境下php7安装redis.so拓展

来源:互联网 发布:tom围棋 mac 编辑:程序博客网 时间:2024/05/19 18:38

原文参考:http://blog.webfsd.com/post_mac-xi-tongmamp-huan-jing-xiaphp7an-zhuangredisso-ta-zhan.html

首先解决一些安装依赖模块,如下:

brew install autoconf wget

PHP版本使用 7.0.8,大致步骤如下:

  1. 将扩展文件放在扩展的文件夹下
    (本次是将 redis.so 放在/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012下,最后一个文件夹的名字每个人可能不一样)

  2. 修改php.ini 
    即在 php.ini 中添加一行:extension = redis.so

  3. 测试安装情况

安装步骤

下载PHP源代码

首先我们要去下PHP的源码文件,本人使用的 PHP7.0.8 所以下载的 7.0.15 的源码,也就是说只要下载X.X对应的版本号就可以了,最后的 .08 和官网的 .15 虽然不同,但是不影响使用,下载完成解压放到Applications/MAMP/bin/php/php7.0.8/include/ 下(include如果不存在请新建),具体的命令如下:

sudo wget -O php-7.0.15.tar.bz2 http://jp2.php.net/get/php-7.0.15.tar.bz2/from/this/mirrortar xf php-7.0.15.tar.bz2mkdir -p /Applications/MAMP/bin/php/php7.0.8/includecp -r /opt/package/php-7.0.15 /Applications/MAMP/bin/php/php7.0.8/include/php // 根据自己解压的路径进行php源代码的拷贝cd /Applications/MAMP/bin/php/php7.0.8/include/php./configure

以上步骤操作是为了让下一步编译 redis.so 时,有对应的php头部文件。

下载redis扩展

git clone https://github.com/nicolasff/phprediscd phpredis/git checkout php7/Applications/MAMP/bin/php/php7.0.8/bin/phpize --with-php-config=/Applications/MAMP/bin/php/php7.0.8/bin/php-config./configure --with-php-config=/Applications/MAMP/bin/php/php7.0.8/bin/php-configmake && make install

编译成功,这时会在 phpredis/modules 目录下生成了 redis.so 文件。
然后将这个 redis.so 放到 /Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/目录下然后并修改php.ini,如下:

cp /opt/package/phpredis/modules/redis.so /Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/.
修改 php.ini


redis.so 放进去 php.ini也改了重启MAMP之后 phpinfo 没出现 redis 模块,可以通过如上修改方式进行修改即可。

然后重启 MAMP 就可以在 phpinfo 信息中看到 redis 了。

方法二

直接去我的github 下载编译好的redis.so文件放在/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012/ 文件夹下,修改php.ini文件增加 extension = redis.so  完事!

github地址:https://github.com/sunnanphp/mamp-redis

参考这里。

测试安装

在 MAMP 环境下编辑一个 .php 文件,测试代码如下:

<?php      $redis = new redis();    $redis->connect('127.0.0.1', 6379);    $redis->set('site',"webfsd");    $result = $redis->get('site');    var_dump($result);?>

正常会输出:
string(6) “webfsd”

ps:小编最近更新了mamp pro4.1  发现这个方法太麻烦了。。so  我们的中心思想就是把redis.so移至php的扩展就可以了嘛。

小编已经把redis.so编译好了 。只需要下载后把redis.so放至/Applications/MAMP/bin/php/php5.x.x/lib/php/extensions/no-debug-non-zts-200xxxxx (Channge 5.x.x to your PHP version)就可以了

资源地址:http://download.csdn.net/download/sun_nan_vip/9896249

如果执行上边的php文件还是不行,就看6379端口开了吗。

redis-server开启redis就可以了。实测。记录下。



如果没有开启会报错。

brew install redis // 安装 redis 程序redis-server /etc/redis.conf // 启动 redis 服务进程redis-cli -p 6379 shutdown // 关闭 redis 服务