MongoDB PHPドライバー
はじめに
公式 MongoDB PHP ドライバーのドキュメント サイトへようこそ。アプリケーションにドライバーを追加して、PHP で MongoDB を操作できます。MongoDB PHP ドライバーは次のコンポーネントで構成されています。
拡張機能 : 低レベルAPIを提供し、主に libmongoc ライブラリと libbson ライブラリをPHPと統合するために使用されます。
ライブラリ : 他のMongoDB言語ドライバーと整合性のあるMongoDBデータベースを操作するための高レベルのAPIを提供します。
拡張機能のみを使用することも可能ですが、拡張機能とライブラリを併用することをお勧めします。 PHPドライバーのコンポーネントの詳細については、このページの「 ドライバーのアーキテクチャ 」セクションを参照してください。
ドライバーについて詳しく学んだり、実行可能なプロジェクトをセットアップするに関するチュートリアル コンテンツにアクセスするには、次のガイドを表示します。
参照
ドライバーのアーキテクチャ
このセクションでは、PHP ドライバーのコンポーネント同士がどのように連携するかについて説明します。これらのコンポーネントは、次の一般的なカテゴリに分類されます。
高レベル API(ライブラリとその他の統合を含む)
拡張(システム ライブラリを統合する拡張機能を含む)
システム(C ドライバー、BSON ライブラリ、暗号化ライブラリを含む)
次の図は、PHP ドライバー コンポーネントのアーキテクチャを示します。
PHP ライブラリは、他の MongoDB ドライバーと整合性のある API を提供します。ライブラリは、クロスドライバー仕様を満たすために継続的に更新されます。ほとんどの PHP アプリケーションで、MongoDB にアクセスするにはライブラリを依存関係として追加する必要があります。
拡張機能は PECL を使用して配布され、PHP をシステム ライブラリに接続します。拡張機能の公開 API は、次の機能を提供します。
接続マネジメント
BSON のエンコードとデコード
オブジェクト ドキュメントの直列化
コマンド実行
カーソル マネジメント
システム ライブラリの詳細については、C ドライバーのドキュメントを参照してください。
互換性のある MongoDB 配置への接続
PHP ドライバーを使用して、次の環境でホストされている配置に接続できます。
MongoDB Atlas はクラウドでの MongoDB 配置のためのフルマネージド サービスです
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる、MongoDB の自己管理型バージョン
インストール
システムに最新バージョンのPHPがインストールされていることを確認してください。ダウンロードおよびインストールの手順については、PHPマニュアルを参照してください。
MongoDB PHPライブラリをインストールする前に、 PHP MongoDB拡張機能をインストールしてください。以下のようにコマンドラインで PECL を使用して拡張機能をインストールできます。
sudo pecl install mongodb
インストールが完了したら、php.ini
ファイルに次の行を追加します。
extension=mongodb.so
注意
一部のシステムでは、CLI、FPM など、SAPI ごとに複数の .ini
ファイルが存在する場合があります。使用するすべての SAPI で拡張機能を有効にしてください。
次に、 Composer を使用してPHPライブラリをインストールします。プロジェクトディレクトリから次のコマンドを実行します。
composer require mongodb/mongodb
インストールが完了したら、次の例に示すように、アプリケーションに Composer のオートローダーが含まれていることを確認します。
require_once __DIR__ . '/vendor/autoload.php';
PHPライブラリのドキュメントには、 MongoDBデータの操作方法を示す参照資料とチュートリアルが含まれています。
互換性
32 ビットプラットフォームでは 64 ビット整数を表現する際に問題が発生する可能性があるため、64 ビット環境を使用することをお勧めします。332 ビット プラットフォームを使う場合は、データベースから読み込んだ 64 ビットの整数はいずれも、PHP の整数型ではなく、MongoDB\BSON\Int 64 インスタンスとして返されることに注意してください。
MongoDB の互換性
次の互換性テーブルは、特定のバージョンの MongoDB で使用するための PHP ドライバーの推奨バージョンを示しています。
最初の列は、ドライバーのバージョンの一覧です。
重要
MongoDB は、MongoDB Server のバージョンのサポート終了(EOL)日から 3 年間、MongoDB Server とドライバー間の互換性を保証します。 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〜1.21 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ext + lib 1.16〜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.21 | ✓ | ✓ | ✓ | ✓ | ||||
ext +lib 1.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.17〜1.19 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.16 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ext +lib 1.15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
互換性テーブルの読み方について詳しくは、「MongoDB 互換性テーブル」に関するガイドを参照してください。