MongoDB PHP 驱动程序
简介
欢迎访问官方 MongoDB PHP 驱动程序的文档站点。您可以将该驱动程序添加到应用程序中,以便在 PHP 中使用 MongoDB。MongoDB PHP 驱动程序由以下组件组成:
虽然可以仅使用扩展,但我们建议同时使用扩展和库。要学习;了解有关PHP驾驶员组件的更多信息,请参阅本页的驱动程序架构部分。
查看以下指南,学习;了解有关驾驶员的更多信息,并访问权限有关设置可运行项目的教程内容:
参考
驱动程序架构
本节介绍 PHP 驱动程序的各个组件是如何协同工作的。这些组件分为以下一般类别:
高级 API,其中包括库和其他集成
扩展,包括集成各种系统库的扩展
系统,包括 C 驱动程序、BSON 库和加密库
下图说明了 PHP 驱动程序组件的架构:
PHP 库提供了与其他 MongoDB 驱动程序一致的 API。该库会不断更新,以满足跨驱动程序规范。必须将该库添加为依赖项才能在大多数 PHP 应用程序中访问 MongoDB。
该扩展使用 PECL 分发,并将 PHP 连接至系统库。该扩展的公共 API 可提供以下功能:
连接管理
BSON 编码和解码
对象文档序列化
命令执行
游标管理
要了解有关系统库的更多信息,请参阅 C 驱动程序文档。
连接到兼容的 MongoDB 部署
您可以使用 PHP Driver 连接到以下环境中托管的部署:
MongoDB Atlas:用于云中 MongoDB 部署的完全托管服务
MongoDB Enterprise:基于订阅、自行管理的 MongoDB 版本
MongoDB Community:source-available、免费使用且可自行管理的 MongoDB 版本
安装
确保您的系统上安装了最新版本的PHP 。有关下载和安装说明,请参阅PHP手册。
在安装MongoDB PHP库之前,请先安装PHP MongoDB扩展。您可以在命令行中使用PECL安装扩展:
sudo pecl install mongodb
安装完成后,将以下行添加到您的 php.ini
文件中:
extension=mongodb.so
注意
在某些系统上,各个 SAPI(例如CLI、FPM)可能有多个 .ini
文件。确保在您使用的所有 SAPI 中启用扩展。
然后,使用Composer安装PHP库。从项目目录运行以下命令:
composer require mongodb/mongodb
安装完成后,确保您的应用程序包含 Composer 的自动加载器,如以下示例所示:
require_once __DIR__ . '/vendor/autoload.php';
PHP库文档包含演示如何与MongoDB数据交互的参考资料和教程。
兼容性
由于在 32 位平台上表示 64 位整数可能存在问题,建议用户使用 64 位环境。使用 32 位平台时,请注意,从数据库读取的任何 64 位整数都将作为 MongoDB\BSON\Int64 实例返回,而不是 PHP 整数类型。
MongoDB 兼容性
以下兼容性表格指定了与特定版本的 MongoDB 一起使用的推荐版本或 PHP 驱动程序版本。
第一列列出驱动程序版本。
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.21 至 2.0 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ [1] | |
ext + lib 1.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ext + lib 1.16 至 1.19 | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
ext + lib 1.15 | ⊛ | ⊛ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
[1] | 对此MongoDB版本的支持已弃用,并将在未来发布中删除。 |
语言兼容性
以下兼容性表格指定了与特定版本的 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.21 至 2.0 | ✓ | ✓ | ✓ | ✓ | ||||
ext + lib 1.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.17 至 1.19 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.16 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ext + lib 1.15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
有关如何阅读兼容性表的更多信息,请参阅我们的 MongoDB 兼容性表指南。
如何获得帮助
在我们的 MongoDB Community 论坛上提问。
访问我们的支持渠道。