升级库版本
Overview
在本指南中,您可以学习;了解升级到新版本的MongoDB PHP库时必须对应用程序进行的更改。本页还介绍了如何将PHP扩展升级到新版本。
如何升级
升级前,请执行以下操作:
确保新的PHP库版本与应用程序连接到的MongoDB Server版本以及编译应用程序时使用的PHP版本兼容。 有关版本兼容性信息,请参阅MongoDB PHP库兼容性页面。
在“重大更改”部分中,解决应用程序正在使用的库版本与计划升级版本之间发生的任何重大更改。
提示
为了确保在升级库版本时跨MongoDB Server版本的兼容性,请使用Stable API。
PHP扩展和库的主要版本和次要版本是同步的。 这意味着您可以运行扩展的升级命令来升级PHP库。
库和扩展的补丁版本 (xxx) 不同步。 运行相应命令以更新到库或扩展的补丁版本。
要升级PHP扩展,请将<version-number>
替换为要升级到的版本号,然后在应用程序的目录中运行以下命令:
pecl upgrade mongodb-<version-number>
要升级PHP库版本,请将<version-number>
替换为要升级到的版本号,然后在应用程序目录中运行以下命令:
composer require mongodb/mongodb:<version-number>
详细的安装说明可在 PHP.net 文档中找到。
重大更改
破坏性变更 (breaking change)是对从特定版本的库开始的约定或行为的更改。 如果在升级库之前未解决此问题,此类更改可能会导致应用程序无法正常工作。
本节中的重大更改按引入它们的库版本进行分类。 升级库版本时,请解决当前版本和升级版本之间的所有重大更改。
有关发布更改的更多信息,请参阅 GitHub 上每个发布的发布说明和相关 JIRA 票证Github
版本 2.0破坏性变更
此库版本引入了以下重大更改:
以下方法返回
void
而不是原始命令响应:MongoDB\\Client
:dropDatabase()
MongoDB\\Collection
:drop()
,dropIndex()
,dropIndexes()
,dropSearchIndex()
,rename()
MongoDB\\Database
:createCollection()
,drop()
,dropCollection()
,renameCollection()
MongoDB\\Database::createEncryptedCollection()
方法返回加密字段列表,而不是原始命令响应。如果出现错误,这些方法会抛出异常。
如果必须通过上述方法访问权限原始命令响应,则可以在应用程序中注册 CommandSubscriber。
版本 1.20破坏性变更
此库版本引入了以下重大更改:
删除支持MongoDB Server 3.6的支持。
1.19及更早版本
对于库版本1.19 及更早版本,请参阅 GitHub 上每个发布的发布说明和相关 JIRA 票证Github