Win PHP5.6 报错提示 Fatal error: Class 'MongoClient' not found

问题
生产环境使用的是PHP5.6,但连接有使用到mongo。
本地开发环境也是用的PHP5.6.40,但同样代码提示报错

Fatal error: Class 'MongoClient' not found

配置
系统:Win7
版本:php5.6.40,VC11,TS
扩展:MongoDB extension version 1.5.3

但是这一段代码在线上环境却运行成功

try {
    $conn = new MongoClient("mongodb://" . $config['username'] . ':' . $config['password'] . '@' . $config['host'] . ':' . $config['port']);
    $dbs = $conn->selectDB($dbname);
    $mongo = $dbs->selectCollection($table);
    $device = $mongo->findOne(['id' => $id]);
} catch (Exception $e) {
	// 
}

排查

E:\test>d:/php56/php.exe -m
[PHP Modules]
bcmath
calendar
Core
ctype
date
dom
ereg
filter
ftp
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mongodb
mysqlnd
odbc
pcre
PDO
Phar
redis
Reflection
session
SimpleXML
SPL
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
zip
zlib

[Zend Modules]

我记得我是安装了php_mongodb.dll的扩展的,如上。
因为我在电脑里同时安装了PHP7.3,和对应 php_mongodb.dll,PHP73可以直接执行对mongodb的操作。

解决方案
网上搜索到的资料,仔细看才发现两个扩展名字是不一样的。
PHP5.6需要 php_mongo.dll而不是php_mongodb.dll。下载 php_mongo.dll 安装即可。

下载地址
电脑PHP5的版本是 PHP5.6 - TS - VC11 所以选择对应版本:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值