0

Web サーバーに保存されている PHP ファイルから MongoDB コマンドを実行する方法を知りたいです。私がやろうとしているのは、ダンプファイルからデータベースをインポートし、MongoDB サービスを実行して、サービスの実行中にインポートしたばかりの MongoDB ファイルを使用する外部 .jar ファイルを呼び出すことです。PHP用のMongoDBドライバーを既にインストールしています(Windows用のxamppサーバーでこれをテストしています)が、通常のMongoDBコマンド(私の場合は「mongoexport」)を実行する正確なプロセスを示す例が見つかりません. 私の知る限り、MongoDB サービスは次の方法で開始されます。

$m = new MongoClient();
4

1 に答える 1

0

データベース コマンドと、MongoDB に同梱されているバイナリ ツールを混同している可能性があります。mongoexportやなどのツールmongodumpは、ドライバーを介して実行されません。むしろ、スタンドアロンの C++ プログラムです。

確かに PHP を介してそれらを実行できますが、そうするにはpopen()のようなものや Symfony のProcess componentなどのライブラリを介してバイナリを実行する必要があります。popen()Windows で PHP を実行している場合は、Symfony コンポーネントをお勧めします。Symfony コンポーネントには、 Windows の互換性を向上させるための PHP のインターフェイスに関する追加のコードが少し含まれています。

PHP を介してデータベース コマンドを実行する場合は、コマンドに MongoDB または MongoCollection オブジェクトのヘルパー メソッド ( MongoCollection::aggregate()など) がない限り、MongoDB::command()を使用することをお勧めします。

于 2013-04-08T21:54:54.930 に答える