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

来源:互联网 发布:非洲男士防晒霜 知乎 编辑:程序博客网 时间:2024/05/22 09:39

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文件接下来重启服务即可.

整个过程的细节蛮多的.所以纪录一下,之后肯定还会用的到.