MacOS M1环境下PHP5.6无法安装couchbase扩展问题求助
问题原因
M1 架构的 MacOS 中 Homebrew 默认将软件包安装到 /opt/homebrew/opt 路径下,而 pecl 编译扩展时默认的头文件、库文件搜索路径不包含该路径,因此无法找到已安装的 libcouchbase 相关文件。
解决步骤
- 首先确认 libcouchbase@2 的安装路径,执行命令:
正常返回结果为brew --prefix libcouchbase@2/opt/homebrew/opt/libcouchbase@2,后续步骤以此路径为例。 - 下载 couchbase 2.6.0 扩展源码包并解压,依次执行:
wget https://pecl.php.net/get/couchbase-2.6.0.tgz tar zxvf couchbase-2.6.0.tgz cd couchbase-2.6.0 - 执行对应 PHP 5.6 版本的 phpize,若你通过 brew 安装 PHP 5.6,命令为:
若你使用自行编译的 PHP 5.6,替换为实际 phpize 程序的路径即可。/opt/homebrew/opt/php@5.6/bin/phpize - 配置编译参数,明确指定 libcouchbase 和 PHP 配置的路径:
同样请根据实际环境替换./configure --with-php-config=/opt/homebrew/opt/php@5.6/bin/php-config --with-libcouchbase=/opt/homebrew/opt/libcouchbase@2--with-php-config后的路径为你本地 PHP 5.6 对应的 php-config 路径。
如果执行配置步骤仍提示找不到文件,可先执行export PKG_CONFIG_PATH="/opt/homebrew/opt/libcouchbase@2/lib/pkgconfig"后再重新运行 configure 命令 - 编译并安装扩展:
make && make install - 编辑 PHP 5.6 对应的 php.ini 文件,新增一行配置:
extension=couchbase.so - 重启 PHP 服务后,执行
php -m | grep couchbase验证安装结果,有输出即代表安装成功。
注意事项
couchbase 2.x 版本的 PHP 扩展仅适配 libcouchbase 2.x 版本,不要使用 libcouchbase 3.x 及以上版本进行编译,否则会出现版本不兼容报错。
内容的提问来源于stack exchange,提问作者吴伟民
相关产品推荐
相关产品推荐

