ライブラリのバージョンをアップグレードする
Overview
このガイドでは、 MongoDB PHPライブラリの新しいバージョンにアップグレードするときにアプリケーションに加える必要がある変更について学習できます。このページでは、 PHP拡張機能を新しいバージョンにアップグレードする方法についても説明します。
アップグレード方法
アップグレードする前に、次のアクションを実行してください。
アプリケーションが使用しているライブラリ バージョンとアップグレード予定のバージョンとの間の重大な変更については、 重大な変更セクションを参照してください。
新しいPHPライブラリ バージョンが、アプリケーションが接続するMongoDB Server のバージョンと、アプリケーションがコンパイルされるPHPバージョンと互換性があることを確認します。バージョンの互換性情報については、「 互換性の変更 」セクションと「 MongoDB PHPライブラリの互換性 」ページを参照してください。
Tip
ライブラリのバージョンをアップグレードするときにMongoDB Serverのバージョン間で互換性を確保するには、 Stable APIを使用します。
PHP拡張機能とライブラリのメジャー バージョンとマイナー バージョンは同期されます。 つまり、拡張機能に対してアップグレード コマンドを実行すると、 PHPライブラリもアップグレードされます。
ライブラリと拡張機能のパッチ バージョン(XXXX)は同期されていません。 ライブラリまたは拡張機能のパッチ バージョンに更新するには、それぞれのコマンドを実行します。
PHP拡張機能をアップグレードするには、 <version-number>
をアップグレードするバージョン番号に置き換え、アプリケーションのディレクトリで次のコマンドを実行します。
pecl upgrade mongodb-<version-number>
PHPライブラリのバージョンをアップグレードするには、 <version-number>
をアップグレードするバージョン番号に置き換え、アプリケーションのディレクトリで次のコマンドを実行します。
composer require mongodb/mongodb:<version-number>
インストールの詳細な手順については、 PHP.net ドキュメント を参照してください。
重大な変更
重大な変更とは、特定のバージョンのライブラリ以降の 規則 または 動作 の変更です。 このタイプの変更では、ライブラリをアップグレードする前に処理されない場合、アプリケーションが正常に動作しなくなる可能性があります。
このセクションの重大な変更は、それを導入したライブラリのバージョンによって分類されます。重大な変更を導入するライブラリのメジャー バージョンのみ。バージョンをアップグレードするときは、現在のバージョンとアップグレードのバージョン間のすべての重大な変更に対処してください。
リリース変更の詳細については、 の各リリースのリリースノートと関連する JIRAGithub チケットを参照してください。
バージョン2.0 重大な変更
このライブラリ バージョンでは、次の重大な変更が導入されています。
次のメソッドでは、未加工のコマンド応答ではなく
void
が返されます。MongoDB\\Client
:dropDatabase()
MongoDB\\Collection
:drop()
,dropIndex()
,dropIndexes()
,dropSearchIndex()
,rename()
MongoDB\\Database
:createCollection()
,drop()
,dropCollection()
,renameCollection()
MongoDB\\Database::createEncryptedCollection()
メソッドは、未加工のコマンド応答ではなく、暗号化されたフィールドのリストを返します。エラーが発生した場合、メソッドは例外をスローします。
前述のメソッドから未加工のコマンド応答にアクセスする必要がある場合は、アプリケーションに コマンドサブスクライブを登録できます 。
互換性の変更
このセクションでは、 MongoDB PHPライブラリのバージョン リリースで導入されたMongoDB ServerとPHP の互換性の変更について説明します。
バージョン 1.x の互換性の変更
このライブラリ バージョンでは、次の互換性の変更が導入されています。
MongoDB PHPライブラリ v1.20 のMongoDB Server 3.6 のサポートを廃止します
Tip
以前のライブラリ バージョン
MongoDB PHPライブラリ バージョン1.19 以前の互換性の変更を確認するには、GitHub で各リリースのリリースノートと関連する JIRA チケットを参照してください。