Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码
Posted wjf0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码相关的知识,希望对你有一定的参考价值。
从https://pecl.php.net/package/mongodb官网下载压缩包(不懂事的我下载了1.5.1版本)
解压安装包
tar -zxvf mongodb-1.5.1.tgz
进入解压目录 运行phpize命令
cd mongodb-1.5.1 && phpize
编译扩展
$ ./configure
$ make && make install
编辑etc/php.ini 添加下面一行
extension=mongodb.so
查看phpinfo()输出,可以看到已经安装了mongodb扩展,查看线上php版本较老,使用的是mongo扩展(虽然mongo扩展已经deprecated,推荐使用mongodb扩展),考虑是安装多版本的php还是怎么办呢
查到了适配器的方式,在项目根目录执行以下命令
composer config "platform.ext-mongo" "1.6.16" && composer require alcaeus/mongo-php-adapter
重启了php-fpm和nginx服务器,又报了如下错误,在stackoverflow上找到答案,重新安装了1.4.1版本的mongodb扩展
Server at IP:27017 reports wire version 2, but this version of libmongoc requires at least 3 (MongoDB 3.0)
重新执行了1-4的步骤,在执行第四步的时候,先是rename了php扩展目录中已经生成的mongodb.so扩展文件,然后安装
php -i | grep extension_dir
最后重启php-fpm, nginx 搞定
以上是关于Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码的主要内容,如果未能解决你的问题,请参考以下文章