Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码

Posted wjf0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码相关的知识,希望对你有一定的参考价值。

  1. https://pecl.php.net/package/mongodb官网下载压缩包(不懂事的我下载了1.5.1版本)

  2. 解压安装包
    tar -zxvf mongodb-1.5.1.tgz

  3. 进入解压目录 运行phpize命令
    cd mongodb-1.5.1 && phpize

  4. 编译扩展
    $ ./configure
    $ make && make install

  5. 编辑etc/php.ini 添加下面一行
    extension=mongodb.so

  6. 查看phpinfo()输出,可以看到已经安装了mongodb扩展,查看线上php版本较老,使用的是mongo扩展(虽然mongo扩展已经deprecated,推荐使用mongodb扩展),考虑是安装多版本的php还是怎么办呢

  7. 查到了适配器的方式,在项目根目录执行以下命令
    composer config "platform.ext-mongo" "1.6.16" && composer require alcaeus/mongo-php-adapter

  8. 重启了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)

  9. 重新执行了1-4的步骤,在执行第四步的时候,先是rename了php扩展目录中已经生成的mongodb.so扩展文件,然后安装
    php -i | grep extension_dir

  10. 最后重启php-fpm, nginx 搞定

以上是关于Mac php7本地安装mongodb扩展以适配使用mongo扩展的线上老代码的主要内容,如果未能解决你的问题,请参考以下文章

php7 安装mongodb扩展

windows php7 安装 mongodb 扩展

PHP7 pecl 安装 mongodb扩展

php7 安装mongodb4.0.4的扩展以及操作mongodb的方法

mac php7.3 安装扩展

Mac下PHP7.3安装Swoole4.4扩展教程