MacOS下PHP 7.0配置IMAP与MAILPARSE扩展失败求助
解决Homebrew调整后PHP 7.0无法安装IMAP和MAILPARSE扩展的问题
你碰到的这个问题,完全是Homebrew在3月31日对PHP公式的调整导致的——官方现在彻底移除了PHP公式的所有编译选项(比如你试过的--with-imap),而且单独的php70-imap这类扩展公式也被下架了,所以之前那些常规操作自然都失效了。
下面给你两个可行的解决方案,按优先级推荐:
方案一:用PECL手动编译安装(最稳定)
PECL不受Homebrew公式变动的限制,是目前安装旧PHP扩展最可靠的方式:
- 先安装IMAP依赖库
imap-uw:brew install imap-uw - 安装IMAP扩展:
因为PHP7.0的IMAP扩展需要指定依赖路径,先设置环境变量再用pecl安装:
要是pecl提示版本不匹配,就用export PHP_PREFIX=$(brew --prefix php@7.0) export IMAP_PREFIX=$(brew --prefix imap-uw) pecl install imap-7.0.33pecl search imap查看适配PHP7.0的具体版本号替换进去。 - 安装MAILPARSE扩展:
同样用pecl,不过要确保mbstring已经启用(PHP7.0默认应该带这个扩展):pecl install mailparse-3.1.1 - 最后启用扩展:
找到PHP7.0的php.ini(路径一般是$(brew --prefix php@7.0)/etc/php/7.0/php.ini),添加两行:
重启PHP服务就生效了。extension=imap.so extension=mailparse.so
方案二:用第三方维护的Homebrew Tap
有些社区Tap还保留了带编译选项的旧PHP公式,你可以试试:
- 先卸载当前的官方PHP7.0(如果已经装了):
brew uninstall php@7.0 - 添加社区维护的Tap,比如
shivammathur/php:brew tap shivammathur/php - 安装带IMAP的PHP7.0:
这个Tap专门维护旧版本PHP,支持传统的编译选项安装扩展。brew install shivammathur/php/php@7.0 --with-imap
⚠️ 额外提醒:PHP7.0已经停止安全维护好几年了,存在大量未修补的漏洞,如果业务允许的话,强烈建议尽快升级到受支持的PHP版本(比如8.1+),后续扩展安装和系统兼容性都会省心很多。
内容的提问来源于stack exchange,提问作者Wellington Viveiro
相关产品推荐
相关产品推荐

