2016-10-10 10 views
0

내 로컬 서버에 AMPPS와 함께 우분투 14.04를 사용하고 있습니다. mongoDB 확장을 사용할 수있게되었고 rockmongo에 데이터베이스와 콜렉션을 생성했습니다. mongo를 사용하는 터미널을 사용하는 경우에도 마찬가지입니다.연결에 실패했습니다 : localhost : 27017 : AMPPS를 사용하여 MongoDB 데이터베이스에 연결이 거부되었습니다

하지만 난 아래의 오류 메시지가 얻을 내 코드에서 MongoDB를 사용하려고 시도하고있을 때 :

<?php 
    // connect to mongodb 
    $m = new MongoClient(); 
    echo "Connection to database successfully"; 

    // select a database 
    $db = $m->laravel; 
    echo "Database mydb selected"; 
    $collection = $db->laravel; 
    echo "Collection selected succsessfully"; 

    $cursor = $collection->find(); 
    // iterate cursor to display title of documents 

    foreach ($cursor as $document) { 
     echo $document["title"] . "\n"; 
    } 
?> 
:

(!) Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: localhost:27017: Connection refused' in /usr/local/ampps/www/TMongo.php on line 3 
(!) MongoConnectionException: Failed to connect to: localhost:27017: Connection refused in /usr/local/ampps/www/TMongo.php on line 3 

이 내가 MongoDB를 테스트하기 위해 노력했습니다 코드의 평화입니다

나는 모든 mongodb 프로세스를 죽이고 다시 시작하기위한 몇 가지 방법을 수색하고 시도했지만, 그들 중 누구도 나를 위해 일하지 않았다.

나는 실행하면 ps -eF | grep 'mongo\|PID' 내가 얻을 :

UID  PID PPID C SZ RSS PSR STIME TTY   TIME CMD 
root  3516 3331 0 223796 118188 3 12:42 pts/22 00:00:01 /usr/local/ampps/mongodb/bin/mongod --journal --pidfilepath=/usr/local/ampps/mongodb/data/pid --config=/usr/local/ampps/mongodb/mongo.conf 
server 7091 25150 0 2939 2280 2 12:47 pts/26 00:00:00 grep --color=auto mongo\|PID 

것은 내가 실행하면 sudo killall -15 mongod 그리고 다시 내가 위의 명령을 실행 내가 얻을 :

UID  PID PPID C SZ RSS PSR STIME TTY   TIME CMD 
server 8299 25150 0 2939 2268 3 12:49 pts/26 00:00:00 grep --color=auto mongo\|PID 

내 MongoDB를 서비스하는 동안이 명령을 실행 꺼짐 : sudo netstat -tlnp | grep 27017 mongodb 서비스를 시작하고 다시 netstat 명령을 실행할 때 얻을 수있는 것 :

,363,210
tcp  0  0 0.0.0.0:27017   0.0.0.0:*    LISTEN  9956/mongod 

mongodb.conf : 참고로

#Turn on simple rest api 
rest=true 

journal=true 

#Storage Engine Set to mmapv1 
storageEngine=mmapv1 

#Directory for Data Files 
dbpath={$path}/mongodb/data/db 

#log file to send write to instead of stdout - has to be a file, not directory 
logpath={$path}/mongodb/logs/mongo.log 

#Append to logpath instead of over-writing 
logappend=true 

#Specify port number 
#port=27017 

#Full path to pidfile (if not set, no pidfile is created) 
pidfilepath={$path}/mongodb/data/pid 

#Each database will be stored in a separate directory 
directoryperdb=true 

#Run "{$path}/mongodb/bin/mongod.exe" --help in command prompt for more help. 

: 거기에 내가 설치 한 ampps 리눅스에 대한 기본 경로입니다 :/usr/지방/ampps/

내가 AMPPS 3.6와 우분투 14.04를 사용하고 있습니다 localserver. 이 문제를 어떻게 해결할 수 있습니까?


UPDATE 나는 파일을 mongodb.conf이 매개 변수를 추가하고 난이 실행 MongoDB를

bind_ip = 127.0.0.1 

그런 다음 다시 시작했습니다 sudo netstat -tlnp | grep 27017

가 MongoDB를이 127.0.0.1:27017 그리고에서 수신 보인다 mongo를 사용하여 명령 줄에서 연결하려고하면 작동하지만 PHP 페이지에서 나는 여전히 같은 문제가 있습니다.

의견이 있으십니까?

+0

명령 줄에서 연결할 수 있습니까? –

+0

네, 몽고를 실행할 때 명령을 연결하고 실행할 수 있습니다. –

+0

마비에게 올바른 문제가 있습니다. PHP에서 몽고 레퍼토리에 액세스 할 수 있습니까? –

답변

0

ampps 3.6에서 그들은 php 확장자 목록에 mongodb.so를 추가했습니다. mongo 및 mongodb 확장을 활성화하면 mongodb에 연결됩니다.