您的位置:首页 > 数据库 > Redis

总结:mac下使用mamp pro给php7.0以上版本安装redis扩展的坑

2017-09-25 10:27 585 查看

mac下使用mamp pro给php7.0以上版本安装redis扩展的坑

mac,自带了php环境.可以使用mamp将php配到命令行中,这就是神坑第一步,这时候你使用的
php -v
是mamp加到环境变量的php环境,但是
phpize
是系统带的那个环境,所以使用
phpize
编译扩展的时候,会编译到系统自带的php环境下.我的解决办法是删掉了系统自带的php环境.然后在使用
phpize
使用的是全路径.

redis对于不同的php版本有不同的扩展,所以在github上为php7以上版本下载phpredis时要找到php7的分支进行下载.

mamp集成环境下,不同版本的php有不同的php.ini文件,大家会理所当然的认为在添加
extension=redis.so
时,找到对应的版本的php.ini文件修改即可,但并不会生效,即使用
php -m
看不到redis扩展.

生效指的一共是两步,第一步是使用
php -m
可以看到redis扩展已安装,第二步是重启apache,nginx以及php-fpm(视自身情况)之后,可以通过php.ini看到redis是enabled的.

后来通过感觉可能是修改的php.ini文件不对,于是
sudo find / -name php.ini
找到了
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

/private/etc/php.ini
文件,大概可以确认我们真正可以修改的文件就是这个文件,但是mamp出于安全考虑,在使用vim修改本文件之后,即使你保存了它也会自动回退到之前的版本,也就是我们通过命令行修改它不会成功.

另外一个坑是
/Library/Application Support/appsolute/MAMP PRO/conf/php.ini

/private/etc/php.ini
,这个路径有空格,直接复制的话会在空格处截断,务必纯手工写地址才能成功(或者使用
\
转义空格.)

接上面的话,这个ini无法通过终端修改的问题的解决办法是在mamp的菜单栏中选择
file -> Edit template -> php
修改对应版本的ini文件接下来重启服务即可.

整个过程的细节蛮多的.所以纪录一下,之后肯定还会用的到.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis php mac 扩展