2016-10-10 23 views
0

私のlocalserverにはAMPPSでubuntu 14.04を使用していますが、mongoDB extenstionを有効にしています。 mongoを使って端末を使っても。への接続に失敗しました:localhost:27017:AMPPSを使用してMongoDBデータベースへの接続が拒否されました

しかし、私は私のコードではMongoDBを使用しようとしているとき、私は以下のエラーメッセージが表示されます:

(!) 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に試したコードの平和です:

<?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"; 
    } 
?> 

私は、すべての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コマンドを実行すると何も得られません。

tcp  0  0 0.0.0.0:27017   0.0.0.0:*    LISTEN  9956/mongod 

mongodb.conf:FYI

#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は、Linuxのデフォルトのパスです:は/ usr/local/AMPPS/

私はAMPPS 3.6でのUbuntu 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

はい、私はmongoを実行すると私は接続して私のコマンドを実行することができます –

+0

Maby正しい問題です、あなたはmongoのレパートリーにアクセスできますか? –

答えて

0

ampps 3.6で、彼らはmongodb.soをPHPエクステンションのリストに追加しました。 mongoとmongodbのエクステンションを有効にすると、mongodbに接続されます。

関連する問題