2014-01-13 6 views
3

MongoDb을 실험 해봤는데 연결 스크립트를 실행하면 암호가 @ 기호를 사용하기 때문에 연결할 수 없습니다. MongoClient, 암호로 '@'로 연결

가 MongoDB를가 @ 기호를 사용에 연결하는 MongoDB를

mongodb://username:[email protected]

에하지만 내 암호로 연결하려면, 그것은 때문에 @ 기호에 연결할 수 없습니다.

예를 들어; new MongoClient("mongodb://mongo:[email protected]@localhost);

다음과 같은 오류가 발생합니다; 당신이 볼 수 있듯이

PHP Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: [email protected]:27017: Couldn't get host info for [email protected]'

, 그것은 암호의 첫 번째 @ 암호와 호스트의 구분자입니다 생각합니다.

MongoClient을 사용하는 경우 암호로 @ 기호를 사용할 수 있습니까?

답변

0

당신이 코드에 의해 시도 할 수있는 사용자 이름과 암호를 전달할 수 있습니다. 동적 값에 따라 입력을 전달하십시오.

try { 
      $m = new MongoClient("mongodb://HOST:" . MNG_PORT, array(
       "username" => MNG_USER, 
       "password" => MNG_PWD 
      )); // connect local Mongo 
      $db = $m->selectDB("DBNAME"); // select DB 
      $collection = $db->collections; // connect to collection 
     } catch (MongoConnectionException $e) { 
      echo 'Couldn\'t connect to mongodb, is the "mongo" process running?'; 
      exit(); 
     } 
관련 문제