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

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

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

### 如何在 MAMP PRO安装配置 PHP Redis 扩展 #### 准备工作 确保已经正确安装并配置好 MAMP PRO 环境。 #### 下载合适的 Redis 版本 依据所使用PHP 版本来选择相匹配的 Redis 扩展版本。对于不同版本PHP,应当下载对应版本兼容的 Redis 扩展[^4]。 #### 配置环境 执行 `./configure` 命令来设置编译参数,以便于后续能够顺利编译 redis.so 文件。此命令需指定正确的 php-config 路径,例如: ```bash ./configure --with-php-config=/Applications/MAMP/bin/php/php7.3.7/bin/php-config ``` 这条指令适用于 PHP 7.3.7 的情况;如果使用其他版本,则应调整路径以指向相应版本php-config 工具[^1]。 #### 编译与安装 完成上述配置之后,继续按照常规流程进行 make 和 install 操作即可生成所需的扩展文件。 #### 更新 php.ini 文件 编辑位于 `/Applications/MAMP/bin/php/php7.2.8/conf/php.ini` 或者对应PHP版本下的 php.ini 文件,在 `[Dynamic Extensions]` 段落里增加如下行以加载 Redis 扩展: ```ini extension=redis.so ``` 注意这里的路径和文件名要根据实际环境做适当更改[^3]。 #### 复制必要的 DLL 文件 (仅限 Windows) 如果是基于 Windows 平台操作,则还需要把解压包中的 `php_redis.dll` 及其依赖项复制到 PHP 的 ext 目录内,并同样更新 php.ini 来启用这些模块。不过由于提到的是 MAMP Pro,默认是在 macOS 上运行,因此这一步骤可能不适用。 #### 测试验证 最后重启 Web 服务使新的配置生效,通过访问 http://localhost/info.php 页面(其中包含 `<?php phpinfo(); ?>`),利用浏览器内的查找功能确认 Redis 是否已被成功集成到 PHP 当中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值