文档菜单
文档首页
/
MongoDB 驱动程序

MongoDB PHP 驱动程序

本页内容

  • 简介
  • 驱动程序架构
  • 连接到兼容的 MongoDB 部署
  • 安装
  • 连接到 MongoDB Atlas
  • 在不使用稳定 API 的情况下连接到 MongoDB Atlas
  • 连接到本地计算机上的 MongoDB 服务器
  • 兼容性
  • 另请参阅

欢迎使用官方 MongoDB PHP 驱动程序的文档网站。您可以将该驱动程序添加到您的应用程序中,以在 PHP 中使用 MongoDB。MongoDB PHP 驱动程序由以下组件组成

  • (此处省略部分内容)扩展,它提供低级API,主要用于将PHP与libmongoc和libbson集成。

  • ,它提供与MongoDB数据库交互的高级API,与其他MongoDB语言驱动程序保持一致。

虽然可以使用扩展单独使用,但MongoDB建议同时使用扩展和库。要了解更多关于PHP驱动程序组件的信息,请参阅本页的驱动程序架构部分。

通过以下链接了解更多关于驱动程序的信息,访问设置可运行项目的教程内容

本节描述了PHP驱动程序组件如何协同工作。这些组件分为以下几类

  • 高级API,包括库和其他集成

  • 扩展,包括集成系统库的扩展

  • 系统,包括C驱动程序、BSON库和加密库

以下图表说明了PHP驱动程序组件的架构

PHP driver component architecture

PHP库提供与其他MongoDB驱动程序一致的API。库持续更新以满足跨驱动程序规范。您必须将库作为依赖项添加,才能在大多数PHP应用程序中访问MongoDB。

该扩展通过使用PECL进行分发,并将PHP连接到系统库。该扩展的公共API提供了以下功能

  • 连接管理

  • BSON编码和解码

  • 对象文档序列化

  • 命令执行

  • 光标管理

有关系统库的更多信息,请参阅C驱动程序文档。

您可以使用PHP驱动程序连接到以下环境中的部署

首先,请确保您系统上安装了最新版本的PHP。请参阅官方PHP手册以获取下载和安装说明。

在安装MongoDB PHP库之前,请先安装PHP MongoDB扩展。您可以使用PECL命令行来安装扩展

$ sudo pecl install mongodb

最后,将以下行添加到您的php.ini 文件中

extension=mongodb.so

注意

在某些系统上,可能存在多个INI文件用于单个SAPI(例如CLI、FPM)。请确保在您需要的所有SAPI中启用扩展。

安装PHP库的首选方法是通过在项目根目录下运行以下命令使用Composer

$ composer require mongodb/mongodb

安装库后,请确保您的应用程序包含Composer的自动加载器,如下例所示

<?php
require_once __DIR__ . '/vendor/autoload.php';

有关安装说明,请参阅库文档。

您可以使用以下连接代码片段来测试您与MongoDB Atlas上MongoDB部署的连接

<?php
use Exception;
use MongoDB\Client;
use MongoDB\Driver\ServerApi;
// Replace the placeholder with your Atlas connection string
$uri = '<connection string>';
// Specify Stable API version 1
$apiVersion = new ServerApi(ServerApi::V1);
// Create a new client and connect to the server
$client = new MongoDB\Client($uri, [], ['serverApi' => $apiVersion]);
try {
// Send a ping to confirm a successful connection
$client->selectDatabase('admin')->command(['ping' => 1]);
echo "Pinged your deployment. You successfully connected to MongoDB!\n";
} catch (Exception $e) {
printf($e->getMessage());
}

此连接代码片段使用稳定API功能,您可以在使用PHP驱动程序v1.9和更高版本连接到MongoDB Server v5.0和更高版本时启用此功能。当您使用此功能时,您可以更新驱动程序或服务器,而无需担心与稳定API覆盖的任何命令的向后兼容性问题。

有关稳定API功能的更多信息,请参阅服务器手册中的稳定API

注意

从2022年2月开始,版本化API被称作稳定API。所有概念和功能在此命名更改后保持不变。

如果您使用的是不支持稳定API功能的MongoDB版本或驱动程序,可以使用以下代码片段来测试您与Atlas上MongoDB部署的连接。

<?php
use Exception;
use MongoDB\Client;
// Replace the placeholder with your Atlas connection string
$uri = '<connection string>';
// Create a new client and connect to the server
$client = new MongoDB\Client($uri);
try {
// Send a ping to confirm a successful connection
$client->selectDatabase('admin')->command(['ping' => 1]);
echo "Pinged your deployment. You successfully connected to MongoDB!\n";
} catch (Exception $e) {
printf($e->getMessage());
}

如果您需要在本机运行MongoDB服务器进行开发,而不是使用Atlas集群,则需要完成以下步骤

  1. 下载社区版企业版的MongoDB服务器。

  2. 安装和配置 MongoDB服务器。

  3. 启动服务器。

重要

始终确保您的MongoDB服务器免受恶意攻击。请参阅我们的安全清单,了解安全建议列表。

在您的MongoDB服务器成功启动后,请在驱动程序连接代码中指定连接字符串。

如果您的MongoDB服务器在本地运行,您可以使用连接字符串"mongodb://localhost:<port>",其中<port>是您配置服务器监听传入连接的端口号。

如果您需要指定不同的主机名或IP地址,请参阅我们关于连接字符串的服务器手册条目。

要测试您是否可以连接到服务器,请将连接到MongoDB Atlas代码示例中的连接字符串替换,并运行它。

由于在32位平台上表示64位整数可能存在潜在问题,建议用户使用64位环境。在使用32位平台时,请注意,从数据库中读取的任何64位整数将返回为MongoDB\BSON\Int64实例,而不是PHP整数类型。

以下兼容性表指定了与特定版本的MongoDB一起使用的PHP驱动程序的推荐版本。

第一列列出了驱动程序版本。

重要

MongoDB确保在服务器版本的生命周期结束(EOL)日期之后的三年内,MongoDB服务器与驱动程序之间的兼容性。有关MongoDB发布和EOL日期的更多信息,请参阅MongoDB软件生命周期计划。

PHP驱动程序版本
MongoDB 8.0
MongoDB 7.0
MongoDB 6.0
MongoDB 5.0
MongoDB 4.4
MongoDB 4.2
MongoDB 4.0
MongoDB 3.6
ext + lib 1.20
ext + lib 1.16 to 1.19
ext + lib 1.15

以下兼容性表格指定了与特定PHP版本一起使用的PHP驱动程序的推荐版本或版本。

第一列列出驱动程序版本。

PHP驱动程序版本
PHP 8.4
PHP 8.3
PHP 8.2
PHP 8.1
PHP 8.0
PHP 7.4
PHP 7.3
PHP 7.2
ext + lib 1.20
ext + lib 1.17至1.19
ext + lib 1.16
ext + lib 1.15

有关如何阅读兼容性表格的更多信息,请参阅我们的MongoDB 兼容性表格指南.

返回

Kotlin 驱动程序