Overview
このページには、 PHPアプリケーションをさまざまな設定でMongoDBに接続する方法を示すコード例が含まれています。
Tip
このページの接続オプションの詳細については、各セクションに記載されているリンクを参照してください。
このページの接続例を使用するには、コード例をサンプルアプリケーションまたは独自のアプリケーションにコピーします。 などのコード例内のすべてのプレースホルダーを、<hostname> MongoDBデプロイに関連する値に置き換えてください。
サンプル アプリケーション
次のサンプルアプリケーションを使用して、このページのコード例をテストできます。 サンプル アプリケーションを使用するには、次の手順を実行します。
プロジェクトにMongoDB PHPライブラリがインストールされていることを確認してください。 MongoDB PHPライブラリのインストールの詳細については、 「ダウンロードとインストール」のガイドを参照してください。
次のコードをコピーし、新しい
.phpファイルに貼り付けます。このページからコード例をコピーし、 ファイル内の指定された行に貼り付けます。
Tip
The require statement in the sample application loads the MongoDB PHP Library and assumes that the vendor directory is in the same directory as your application file. If your application file is located elsewhere, adjust the path to vendor/autoload.php accordingly.
1 2 3 require __DIR__ . '/vendor/autoload.php'; 4 5 // Start example code here 6 7 // End example code here 8 9 try { 10 $client->test->command(['ping' => 1]); 11 echo 'Successfully pinged the MongoDB server.', PHP_EOL; 12 } catch (MongoDB\Driver\Exception\RuntimeException $e) { 13 printf("Failed to ping the MongoDB server: %s\n", $e->getMessage()); 14 }
重要
パーセント エンコーディング
ユーザー名とパスワードは、 MongoDB URI に含める前に、パーセント エンコードする必要があります。rawurlencode() RFC3986 で指定されている URI構文に従ってこれらの値をエンコードするには、 メソッドを使用します。ユーザー名やパスワードをオプション配列パラメータで コンストラクターに渡す場合、パーセントMongoDB\Client エンコードしないでください。
接続
Atlas
Atlas connection strings use the mongodb+srv prefix and include your database user's credentials. The following code shows how to connect to a MongoDB Atlas deployment:
$uri = 'mongodb+srv://<db_username>:<db_password>@<cluster-url>/'; $client = new MongoDB\Client($uri);
Atlas 配置への接続の詳細については、 接続ターゲットガイドのAtlasを参照してください。
ローカル配置
次のコードは、 MongoDBデプロイに接続する方法を示しています。
$uri = 'mongodb://localhost:27017/'; $client = new MongoDB\Client($uri);
注意
$uriパラメータを指定しない場合、接続 URI はデフォルトで'mongodb://127.0.0.1:27017'になります。
ローカル配置への接続の詳細については、 接続ターゲットガイドの「ローカル配置」を参照してください。
レプリカセット
次のコードは、レプリカセット配置に接続する方法を示しています。
$client = new MongoDB\Client( 'mongodb://<replica set member>:<port>/', ['replicaSet' => '<replica set name>'], );
$uri = 'mongodb://<replica set member>:<port>/?replicaSet=<replica set name>'; $client = new MongoDB\Client($uri);
Tip
1 つのホストがダウンしたときにレプリカセット配置への接続を維持するには、接続 URI に複数のレプリカセットノードを指定できます。
レプリカセットへの接続の詳細については、 接続ターゲットガイドの「レプリカセット」を参照してください。
Stable API
次のコードは、 MongoDBインスタンスへの接続に対して Stable APIを有効にする方法を示しています。
$driverOptions = ['serverApi' => new MongoDB\Driver\ServerApi('1')]; $client = new MongoDB\Client( 'mongodb://<hostname>:<port>/', [], $driverOptions, );
Stable APIの詳細については、「Stable APIで接続」ガイドを参照してください。
ネットワーク圧縮
次のコードは、接続用に Snappy、zlib、および Zstandard 圧縮アルゴリズムを指定する方法を示しています。
$client = new MongoDB\Client( 'mongodb://<hostname>:<port>', ['compressors' => 'snappy,zstd,zlib'], );
$uri = 'mongodb://<hostname>:<port>/?compressors=snappy,zstd,zlib'; $client = new MongoDB\Client($uri);
ネットワーク圧縮の詳細については、 「ネットワーク トラフィックの圧縮」ガイドを参照してください。