在phpEnv搭建的PHP开发环境中,要实现PHP与MongoDB这类NoSQL数据库的交互,首先需要安装对应的MongoDB扩展,这是建立连接的基础前提。不同PHP版本对应的扩展版本存在差异,安装时需要根据自身环境选择匹配的扩展文件。

准备工作
在安装扩展前需要先确认两个关键信息,避免安装错误版本的扩展导致无法生效:
- 当前phpEnv中使用的PHP版本,可在phpEnv面板首页直接查看
- PHP的运行架构是TS(线程安全)还是NTS(非线程安全),以及对应的CPU架构是x86还是x64
可以通过在phpEnv中新建一个PHP文件,写入<?php phpinfo();?>运行后查看PHP信息,找到PHP Version、Thread Safety、Architecture三个字段的内容,记录对应的值。
下载对应版本的MongoDB扩展
前往MongoDB官方扩展下载页,根据之前记录的信息选择匹配的扩展包。扩展包的命名规则通常包含PHP版本、TS/NTS标识、CPU架构,比如php_mongodb-1.15.0-8.1-ts-vs16-x64就对应PHP8.1、线程安全、x64架构的扩展。
下载完成后解压压缩包,找到里面的php_mongodb.dll文件,这就是我们需要的扩展文件。
配置phpEnv加载扩展
按照下面的步骤将扩展文件放到正确位置并修改配置:
- 打开phpEnv的安装目录,找到对应PHP版本的ext文件夹,比如PHP8.1对应的路径通常是phpEnvphpphp-8.1ext
- 将之前解压得到的
php_mongodb.dll文件复制到该ext文件夹中 - 在phpEnv面板中点击对应PHP版本后面的php.ini按钮,打开配置文件
- 在配置文件的扩展加载区域添加一行
extension=mongodb,注意不要添加后面的dll后缀 - 保存php.ini文件后,在phpEnv面板中重启对应的PHP服务
验证扩展是否安装成功
重启服务后,再次运行之前的phpinfo()页面,搜索mongodb关键词,如果能看到MongoDB的相关模块信息,就说明扩展已经成功加载。
也可以通过下面的简单代码验证扩展是否可用:
<?php
// 检查MongoDB扩展是否加载
if (extension_loaded('mongodb')) {
echo 'MongoDB扩展已成功安装';
} else {
echo 'MongoDB扩展未安装';
}
?>
PHP连接MongoDB数据库示例
扩展安装完成后,就可以编写代码连接MongoDB数据库了,首先需要确保本地或者远程的MongoDB服务已经启动。下面是一个基础的连接和插入数据示例:
<?php
// 引入MongoDB的PHP库,若使用composer管理依赖需先执行composer require mongodb/mongodb
require 'vendor/autoload.php';
// 连接MongoDB服务,本地默认端口是27017
$client = new MongoDBClient('mongodb://127.0.0.1:27017');
// 选择数据库和集合,若数据库和集合不存在会自动创建
$collection = $client->test_db->test_collection;
// 插入一条数据
$insertResult = $collection->insertOne([
'name' => '测试数据',
'create_time' => time()
]);
// 输出插入的文档ID
echo '插入成功,文档ID:' . $insertResult->getInsertedId();
?>
常见问题排查
- 如果重启PHP服务后扩展未加载,检查
php_mongodb.dll文件是否放到了正确的ext目录,以及php.ini中添加的扩展名称是否正确 - 如果连接MongoDB时报错,检查MongoDB服务是否启动,连接地址和端口是否正确
- 如果提示找不到MongoDBClient类,需要通过composer安装MongoDB的PHP库,或者手动下载库文件引入
注意:生产环境中不要使用127.0.0.1作为MongoDB连接地址,需要根据实际部署情况配置对应的数据库地址和认证信息,避免安全风险。
phpEnvMongoDB扩展PHP连接NoSQLMongoDB_PHP修改时间:2026-06-27 12:36:29