本文主要是介绍Mac系统MAMP环境下php7安装redis.so拓展,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
原文参考:http://blog.webfsd.com/post_mac-xi-tongmamp-huan-jing-xiaphp7an-zhuangredisso-ta-zhan.html
首先解决一些安装依赖模块,如下:
brew install autoconf wget
PHP版本使用 7.0.8,大致步骤如下:
-
将扩展文件放在扩展的文件夹下
(本次是将redis.so
放在/Applications/MAMP/bin/php/php7.0.8/lib/php/extensions/no-debug-non-zts-20151012
下,最后一个文件夹的名字每个人可能不一样) -
修改php.ini
即在php.ini
中添加一行:extension = redis.so
-
测试安装情况
安装步骤
下载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/mirror
tar xf php-7.0.15.tar.bz2
mkdir -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/phpredis
cd 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-config
make && 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 服务
这篇关于Mac系统MAMP环境下php7安装redis.so拓展的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!