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

本文详细记录了从下载到配置完成PHP的MongoDB扩展的全过程,包括解决版本不匹配和扩展冲突的问题,以及如何通过适配器兼容旧版扩展。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  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 搞定

转载于:https://www.cnblogs.com/wjf0/p/10458735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值