OSX Catalina下用--configureoptions通过PECL安装memcache失败如何解决
解决方案
方法一:直接通过pecl命令传递编译参数安装
首先执行以下命令获取brew安装的zlib的正确前缀路径,避免硬编码版本号导致后续版本更新失效:
brew --prefix zlib
将返回的路径替换到下方命令中,直接执行安装即可:
pecl install -D 'with-zlib-dir="/usr/local/opt/zlib"' memcache
注:/usr/local/opt/zlib是Intel架构Mac下brew zlib的固定软链路径,M系列架构Mac对应路径为/opt/homebrew/opt/zlib,直接使用brew --prefix zlib返回结果可自动适配架构
方法二:pecl下载源码后手动编译(适配所有参数自定义场景)
如果方法一仍不生效,可通过pecl下载官方源码包后编译,编译完成的包会自动被pecl管理:
- 下载memcache扩展源码包:
pecl download memcache
- 解压下载的压缩包并进入对应目录:
tar -zxvf memcache-*.tgz cd memcache-*/
- 执行PHP扩展编译常规流程,传入zlib路径参数:
phpize ./configure --with-zlib-dir=$(brew --prefix zlib) make && make install
- 编译完成后执行
pecl list即可看到memcache已进入已安装列表,可正常通过pecl uninstall memcache卸载。
安装后校验
安装完成后需确认对应PHP版本的php.ini文件中已添加扩展配置:
extension=memcache.so
执行php -m | grep memcache,返回memcache即为安装生效。
内容的提问来源于stack exchange,提问作者Nicholas Gooding Rios
相关产品推荐
相关产品推荐

