2012-04-06 4 views
2

PECL에서 mongo 확장자를 설치하고이를 php.ini 파일에 추가했습니다. phpinfo();을 실행하면 확장이로드되지만 Mongo 서버에 연결하려고하면이 오류가 표시됩니다. Ubuntu 12.04에서 MongoDB for PHP 설치 및 시작

Fatal error: Uncaught exception 'MongoConnectionException' with message 'Transport 
endpoint is not connected' in /var/www/mongo.php:2 Stack trace: #0 /var/www/mongo.php(2): 
Mongo->__construct() #1 {main} thrown in /var/www/mongo.php on line 2 

phpinfo();

는 기본 포트에서 로컬 호스트에 나에게 그것의 실행을 알려줍니다. 이 MongoLab에 서버에 연결할 수 있지만

또한 나는 또한 내가 터미널에서 그것을 사용하는 기본 서버를 실행에 연결에 실패 우분투에 대한 mongodb_client 패키지를 설치했습니다. PHP 스크립트도 MongoLab 서버에 연결하지 못합니다.

SO 및 다른 사이트에서 많은 질문과 답변을 읽은 후에 내 컴퓨터의 MongoDB 서버가 켜져 있지 않은 것 같습니다. 모든 기사가 MongoDB를 설치 할 수있는 몇 가지 폴더로 이동 말해,하지만 난 /var/lib 또는 /usr/lib

날이 MongoDB를 작업을 도와주십시오의 모든 폴더를 해달라고, 나는 에서 MongoDB의 내용에 계속하려면 MongoDB 및 PHP 책 : Steve Francia. 이 책은 MongoDB 설치에 대한 좋은 자습서가 없습니다.

감사합니다.

+0

시도 : sudo 서비스 mongodb 시작 –

+0

그것은 "mongodb : unrecognized service"라고 말합니다 –

+1

아마 mongodb 대신 mongo입니까? (나는 우분투 버전 대신 10gen repo에서 버전을 사용하고 있습니다.) –

답변

3

MongoDB를 설치 (안 패키지를,하지만 당신이 시작하는 것이다) : www.mongodb.org/downloads에서

  • 다운로드 2.0.4.
  • tar zxvf mongodb-...
  • 방금 ​​해체 한 mongodb 디렉토리로 변경하십시오.

    $ mkdir myData 
    
  • 실행 :

    $ bin/mongod --dbpath myData 
    

당신은 그것을 다음 "포트 27017에 연결을 기다리는"일부 출력을 본 후해야

  • 데이터 디렉토리를 개최 할 수 있도록 당신이 그것을 사용하기 시작할 때까지 기다릴 것입니다. 그 시점에서 당신은 그것에 연결할 수 있어야합니다.

  • 2

    나는 우분투 패키지를 사용하지 perfer, 그래서 @kristina가 MongoDB를가 바이너리에서 실행 슈퍼 쉽게 말하는 것처럼 내가 할 거라고 ...하지만 패키지를 선호하는 것 때문에, 실행 ...

    적성 검색 몽고는

    당신은 센 몽고 서버에 대한 항목 ... 그 설치해야합니다.당신이 그것을 볼 수없는 경우

    , 다음 지침에 따라 : http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

    그런 다음 로컬로 연결할 수 있어야합니다을,이 또한 당신이 가야 도움이 될 수 http://learnmongo.com/posts/mongodb-php-install-and-connect/

    2

    이 내 서버에 근무 :

    :

    http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

    나는 REST를 사용하려면 /etc/mongodb.conf 파일에 하나의 변화를 만들어

    #enable REST 
    rest = true 
    

    GridFS는 내가 연결할 때도 작동합니다 (Node.js 제외 -하지만 사용중인 드라이버에 버그가 있다고 생각합니다).

    sudo apt-get install mongodb-10gen 
    
    1

    를 지금까지 내가 당신이 mongod 서버를 실행하는 방법을 상관하지 않는다 MongoDB를 PHP 드라이버를 알고 : 그래서 모두 모두, 많이 나는 다음과 같은 사용에 대한 불평 할 수 없다. 유일한 문제는 mongod 인스턴스를 실행하고 오른쪽 포트에 연결해야한다는 것입니다. 따라서 올바른 포트에 연결하고 있는지 확인하십시오.

    mongodb를 좀 더 쉽게 사용하려면 mongodb 다운로드 섹션의 바이너리 실행 파일을 사용할 수 있습니다. 우분투 apt-get 설치로 인해 문제가 발생할 수 있습니다.

    저에게는 제 OS 용 바이너리를 사용할 준비가되어 있습니다. mongodb 실행 파일이/opt/mongo/bin/

    에 위치하도록/op/폴더에 압축을 푼 다음이 폴더를 $ PATH 변수에 추가하여 어디서나 mongodb 명령을 실행할 수 있도록합니다. 이렇게하려면 PATH = "$ PATH :/opt/mongo/bin"을 홈 폴더에있는 .bashrc 파일에 추가하십시오.

    이 방법을 사용하면 쉽게 업그레이드 할 수 있으며/opt/mongo/bin 폴더를 복사하고 바꿔줘야합니다. 그리고 mongod 서버를 다시 시작하십시오.