2016-10-18 2 views
0

クライアントライブラリhttps://github.com/mongodb/mongo-php-library/blob/master/docs/tutorial/install-php-library.txtを使用してdrupalからmongoに接続しようとしています。 ソースコードをダウンロードしました。/MongoDBの(ライブラリのsrcフォルダ)drupalのMongo dbクライアントライブラリ7モジュール(作者なし)

--myModule.module

--myModule - 今私は

myModuleディレクトリ構造の内部モジュール -

.moduleファイルでそれを使用したいです

 function my_autoloader($class) { 
      print_r($class); 
      include DRUPAL_ROOT.'/sites/all/modules/myModule/MongoDB/' . $class . '.php'; 
     } 

     spl_autoload_register('my_autoloader'); 

    function myModule_init() { 

    //sample code to connect to mongo 
     $client = new MongoDB\Client("mongodb://xx.xx.xx.xx:27017"); 

     $collection = $client->demo->beers; 

     $result = $collection->insertOne([ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ]); 

     echo "Inserted with Object ID '{$result->getInsertedId()}'"; 
} 
から myModule.moduleファイル内

の.info

私は私が間違っているのは何のエラー

Fatal error: Class 'MongoDB\Client' not found 

を取得しています。何か案が ???

:私はこの

$m = new MongoDB\Driver\Manager("mongodb://xx.xxx.xx.xx:27017"); 

    echo "Connection to database successfully"; 

を使用しようとすると接続できていますが、なぜクライアントを使用していません?

+0

$ class = str_replace( '\\'、 '/'、$ class);を追加する必要がありました。 MongoDBをパス – NeiL

+0

から削除してください。あなたの質問には解決してください。 – MilanG

答えて

0

問題はprint_r($class); iが

$class = str_replace('\\', '/', $class);

とURLからのMongoDBを削除を使用して/と\を交換しなければならなかったすべてのその後 、(名前空間形式)MongoDB\Client\のような出力を与えていたでした。
まだ与えられた理由が分かりませんMongoDB\Client\

関連する問題