Я использую ubuntu 14.04 с AMPPS для моего локального сервера, мне удалось включить mongoDB extenstion, и я создал базу данных и коллекции в rockmongo и даже используя терминал с использованием монго.Не удалось подключиться к: localhost: 27017: Connection отказался от базы данных MongoDB с помощью AMPPS
Но когда я пытаюсь использовать 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:
#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.
FYI: Я установил ampps в это путь по умолчанию для Linux:/USR/местные/ampps/
Я использую Ubuntu 14.04 с AMPPS 3,6 для локального сервера. Как я могу исправить это, любое предложение?
UPDATE Я добавил этот параметр в mongodb.conf файл и перезапустить MongoDB
bind_ip = 127.0.0.1
Тогда я запускаю это: sudo netstat -tlnp | grep 27017
Кажется, что MongoDB прослушивает 127.0.0.1:27017
И когда я пытаюсь подключиться к нему из командной строки, используя mongo, он работает, но на php-странице у меня все еще такая же проблема.
любое предложение?
Можете ли вы подключиться из командной строки? –
Да, когда я запускаю mongo, я могу подключиться и запустить свои команды –
Maby - правильная проблема, у вас есть доступ к репертуару mongo? –