对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

升级库版本

在本指南中,您可以学习;了解升级到新版本的MongoDB PHP库时必须对应用程序进行的更改。本页还介绍了如何将PHP扩展升级到新版本。

升级前,请执行以下操作:

  • 在“重大更改”部分中,解决应用程序正在使用的库版本与计划升级版本之间发生的任何重大更改

  • Ensure the new PHP library version is compatible with the MongoDB Server versions your application connects to and the PHP version your application compiles with. For version compatibility information, see the Compatibility Changes section and the Compatibility page.

提示

为了确保在升级库版本时跨MongoDB Server版本的兼容性,请使用Stable API。

PHP扩展和库的主要版本和次要版本是同步的。 这意味着您可以运行扩展的升级命令来升级PHP库。

库和扩展的补丁版本 (xxx) 不同步。 运行相应命令以更新到库或扩展的补丁版本。

要升级PHP扩展,请将<version-number>替换为要升级到的版本号,然后在应用程序的目录中运行以下命令:

pie install mongodb/mongodb-extension:^<version-number>

提示

上一个的PHP扩展版本

要升级到 1.21 之前的PHP扩展版本,使用以下命令:

pecl upgrade mongodb-<version-number>

要升级PHP库版本,请将<version-number>替换为要升级到的版本号,然后在应用程序目录中运行以下命令:

composer require mongodb/mongodb:<version-number>

详细的安装说明可在PHP.net 文档中找到。

破坏性变更 (breaking change)是对从特定版本的库开始的约定或行为的更改。 如果在升级库之前未解决此问题,此类更改可能会导致应用程序无法正常工作。

本节中的重大更改按引入它们的库版本进行分类。只有主要的库版本才会引入重大更改。升级版本时,解决当前版本和升级版本之间的所有重大更改。

有关发布更改的更多信息,请参阅Github上每个发布的发布说明和相关 JIRA 票证。

此库版本引入了以下重大更改:

  • 以下方法返回 void 而不是原始命令响应:

    • MongoDB\\Client: dropDatabase()

    • MongoDB\\Collection: drop(), dropIndex(), dropIndexes(), dropSearchIndex(), rename()

    • MongoDB\\Database: createCollection(), drop(), dropCollection(), renameCollection()

    MongoDB\\Database::createEncryptedCollection() 方法返回加密字段列表,而不是原始命令响应。

    如果出现错误,这些方法会抛出异常。

    如果必须通过上述方法访问权限原始命令响应,则可以在应用程序中注册CommandSubscriber

本节介绍MongoDB PHP库版本中引入的MongoDB Server和PHP兼容性更改。

此库版本引入了以下兼容性更改:

  • 删除MongoDB PHP库 v1.20 中对MongoDB Server 3.6 的支持

提示

早期库版本

要查看MongoDB PHP库 1.19 及更早版本的兼容性更改,请参阅Github上每个发布的发布说明和相关 JIRA 票证。