在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扩展版本是否正确
本文来自博客园,作者:飞龙在生,转载请注明原文链接:https://www.cnblogs.com/flzs/p/18003313
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步