Intereting Posts
Какие каталоги проверяет PHP при включении относительного пути с include ()? Создание массива JavaScript из массива PHP Не удается подключиться к SMTP-серверу время обновления каждой записи в MongoDB Как получить доступ к файлам за пределами DocumentRoot в VirtualHost в XAMPP? PDO отправляет необработанный запрос в MySQL, в то время как Mysqli отправляет подготовленный запрос, оба дают тот же результат Невозможно использовать pastebin с помощью curl в командной строке: неверный запрос API, неверный api_option извлечь изображение src из текста? Должен ли я использовать filter_var для проверки электронной почты? Кто-нибудь знает хороший PHP ORM, который НЕ использует PDO? Динамически генерировать классы во время выполнения в php? Как получить все записи, обновленная дата которых составляет менее 30 дней в php Как установить ремесленника Laravel? CakePHP: вызов функции-члена функции () на не-объекте Серьезно, должен ли я писать плохой PHP-код?

MongoDB Удаленное соединение с php

Развернутый быстрый облачный сервер просто для того, чтобы разместить MongoDB, чтобы избавиться от него из любопытства. Он установлен и работает. Сделал тестовую БД / таблицу следующим образом:

db.items.insert({ name: 'eggs', quantity: 10, price: 1.50 }) db.items.insert({ name: 'bacon', quantity: 3, price: 3.50 }) db.items.insert({ name: 'tomatoes', quantity: 30, price: 0.50 }) 

Когда я запускаю db.items.find({}) все элементы появляются, и все хорошо.

Теперь в PHP, когда я подключаюсь к этой базе данных с другого сервера, я делаю это:

  // open connection to MongoDB server $conn = new Mongo('mongodb://theAdmin:Gold1234@165.225.130.252:27017'); // access database $db = $conn->test; // access collection $collection = $db->items; // execute query // retrieve all documents $cursor = $collection->find(); // iterate through the result set // print each document echo $cursor->count() . ' document(s) found. <br/>'; foreach ($cursor as $obj) { echo 'Name: ' . $obj['name'] . '<br/>'; echo 'Quantity: ' . $obj['quantity'] . '<br/>'; echo 'Price: ' . $obj['price'] . '<br/>'; echo '<br/>'; } 

и я получаю эту ошибку:

Неустранимая ошибка: Не удалось исключить «MongoConnectionException» с сообщением «Не удалось подключиться к: 165.225.130.252:27017: конечная точка транспорта не подключена» в /home/moosex/public_html/info.php:4. Трассировка стека: # 0 / home / moosex /public_html/info.php(4): Mongo-> __construct ('mongodb: // [theA …') # 1 {main} брошен в /home/moosex/public_html/info.php в строке 4

Я посмотрел и попробовал несколько разных способов подключения и до сих пор не могу его получить. Как я могу подключиться удаленно?

Кстати, это фактический пароль пользователя и адрес на этот сервер (там ничего нет, кроме яиц бекона и помидоров), если вы можете подключиться к нему, бог, благослови вас.

Related of "MongoDB Удаленное соединение с php"

Чтобы иметь возможность отлаживать «случайную странность», как это, очень полезно включить внутреннее ведение журнала драйверов. Водитель делает много вещей за кулисами и может выплескивать всю важную информацию об отладке.

Добавьте вверху вашего скрипта следующее:

 <?php MongoLog::setLevel(MongoLog::ALL); MongoLog::setModule(MongoLog::ALL); ?> 

По умолчанию регистратор вытолкнет «сообщения об ошибках php» (E_NOTICE / E_WARNING), если у вас включен error_log, обязательно проверьте этот файл для результатов.

Для вашей (слегка измененной) строки подключения я получаю следующие результаты:

 Notice: PARSE INFO: Parsing mongodb://theAdmin:Gold1234@localhost:27027 in Command line code on line 1 Notice: PARSE INFO: - Found user 'theAdmin' and a password in Command line code on line 1 Notice: PARSE INFO: - Found node: localhost:27027 in Command line code on line 1 Notice: PARSE INFO: - Connection type: STANDALONE in Command line code on line 1 Notice: PARSE INFO: - No database name found for an authenticated connection. Using 'admin' as default database in Command line code on line 1 Notice: CON INFO: mongo_get_read_write_connection: finding a STANDALONE connection in Command line code on line 1 Notice: CON INFO: connection_create: creating new connection for localhost:27027 in Command line code on line 1 Notice: CON WARN: connection_create: error while creating connection for localhost:27027: Invalid argument in Command line code on line 1 Notice: CON WARN: Couldn't connect to 'localhost:27027': Invalid argument in Command line code on line 1 

Я подозреваю, что проблема с брандмауэром в обоих концах. Можете ли вы подключиться к серверу с помощью оболочки mongo?