在ubuntu16.04下,源码编译安装特定版本的MongoDB PHP扩展

背景:我的php项目在连接其他mongo库时报:Server at xxx:27017 reports wire version 5, but this version of libmongoc requires at least 6 (MongoDB 3.6)
原因:本地MongoDB PHP扩展的版本过高
解决方法:降低本地PHP扩展MongoDB 版本 ,现在要降到mongodb-1.12.0版本
步骤:
  1:下载制定版本的MongoDB PHP扩展源码
      https://pecl.php.net/package/mongodb
  2:解压
  3:进入解压后的目录
  4:执行命令:phpize
  5:执行命令:./configure --with-php-config=/usr/bin/php-config
  6:执行命令:make
  7:执行命令:make install
      该命令通常在软件编译完成后执行,其目的是将编译后的.so文件复制到php的扩展目录中,我的是自动放到/usr/local/php/lib/php/extensions/no-debug-non-zts-20190902目录下了,由于之前有这个mongodb.so,所以本次是直接覆盖了
  8:在php.ini中添加:extension=mongodb.so
    由于是升级版本,之前配置文件中已有此配置,我的配置文件是:/usr/local/php/etc/php.d/mongodb.ini
  9:重启php-fpm
  10:查看phpinfo(),查看php mongodb扩展是否安装成功
  11:查看phpinfo(),查看php mongodb扩展版本是否正确
posted @ 2024-02-02 15:46  飞龙在生  阅读(27)  评论(0编辑  收藏  举报