2015-11-24 3 views
1

Я просто пытаюсь подключиться к mongo, запустить простой запрос чтения без успеха.PHP MongoClient Connect Replica Set с аутентификацией

Я использую:

  • Монго 3.0.3
  • PHP 5.6.9
  • Ubuntu Linux Server OS

У меня есть серверы на:

  • AWS Веб-сервер Ubuntu
  • Google Cloud Монго набор репликации кластера (5 коробок, 1 арбитр)

Я использую примеры из документации от:

PHP реплики наборы: http://php.net/manual/en/mongo.connecting.rs.php

PHP Проверка подлинности: http://php.net/manual/en/mongo.connecting.auth.php

Здесь представляет собой код:

$this->mongooe = new \MongoClient('mongodb://mongo-1.mongo.example.com:27017, 
     mongo-2.mongo.example.com:27017, 
     mongo-3.mongo.example.com:27017, 
     mongo-4.mongo.example.com:27017, 
     mongo-5.mongo.example.com:27017', 
     [ 
      'replicaSet'=> 'exampleSet', 
      'db'  => 'example', 
      'username' => 'example-admin', 
      'password' =>'123456' 
     ]); 

Я получаю эта ошибка в моих журналах:

[Mon Nov 23 17:56:23.864370 2015] [:error] [pid 2480] [client 192.168.56.1:61512] [2015-11-23 17:56:23] .ERROR: mongo-1.mongo.example.com:27017: not authorized for query on example.history {"exception":"[object] (MongoCursorException(code: 13): mongo-1.mongo.example.com:27017: not authorized for query on example.history at /media/sf_api_admin/app/Controller/V1/Example/Config.php:66)"} [], referer: http://localhost:8042/example/configs

Хотя я пытался 8 различных конфигураций синтаксиса, как это:

$this->mongooe = new \MongoClient('mongodb://example-admin:[email protected]:27017, 
     example-admin:[email protected]:27017, 
     example-admin:[email protected]:27017, 
     example-admin:[email protected]:27017, 
     example-admin:[email protected]:27017', 
     [ 
      'replicaSet'=> 'exampleSet', 
      'db'  => 'example' 
     ]); 

Я также получаю эту ошибку: No candidate servers found

Мой пример-администратор Роль:

  • dbAdmin
  • dbOwner
  • чтения
  • READWRITE
  • UserAdmin

(в основном полный доступ, только для тестирования)

Там что-то действительно глупо, мне не хватает, кто-то помочь мне?

Thanks,

ответ

0

Это простое решение.

ли это:

sudo apt-get install pkg-config libssl-dev sudo pecl install mongodb-1.2.0alpha3 и не забудьте включить mongodb.so в файле php.ini.

Для этих новых версий mongo вам необходимо использовать альфа-версию сборки.

Смежные вопросы