はじめに
公式 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 |
---|---|---|---|
ext + lib 1.20〜2.1 | ✓ | ✓ | ✓ |
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〜2.1 | ✓ | ✓ | ✓ | ✓ | ||||
ext +lib 1.20 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.17〜1.19 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
ext + lib 1.16 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
ext +lib 1.15 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
互換性テーブルの読み方の詳細については、「 MongoDB 互換性テーブル に関するガイドを参照してください。