Я видел эту ошибку пару раз, и, чтобы исправить это, я просто перезагрузил свой сервер.
Неустранимая ошибка: не удалось исключить «MongoConnectionException» с сообщением «Не удалось подключиться к: localhost: 27017: неудачные попытки подключения были неудачны, сервер в черный список» в /var/www/html/include/config.php:9 Трассировка стека: # 0 / var /www/html/include/config.php(9): MongoClient-> __construct ('mongodb: // local …') # 1 /var/www/html/classes.php(3): include ('/ var / www / html / i … ') # 2 /var/www/html/myusers.php(8): include (' / var / www / html / c … ') # 3 {main} throw в /var/www/html/include/config.php в строке 9
- PHP MongoDB обновляет несколько документов, используя $ in / $ или
- где вставлять функции в codeigniter mongodb
- синтаксическая ошибка, неожиданный '' sidebar_bann '(T_ENCAPSED_AND_WHITESPACE), ожидающий'] 'при работе с MongoDB ODM и ZF2
- Yii2 Активная запись, как создать связь между монго-моделями
- Функция MongoDB GROUP (или Map Reduce, если необходимо) с помощью PHP-отличительных клавиш
Тем не менее, я могу быть, не видя этого … Как я могу предотвратить эту проблему?
обновление: это произошло снова, и после нескольких минут ожидания мне пришлось перезагрузиться, чтобы сайт снова работал
Начиная с версии 1.4 драйвера MongoDB для PHP мы будем «черным списком» серверов на минуту, если с ними нельзя связаться. Это так, что мы не захлопываем сервер с соединениями, что может привести к таймауту. Это в первую очередь делается для того, чтобы убедиться, что в среде с репликами мы все равно можем использовать только один из хостов, но, конечно, если у вас только одна машина, это немного сложнее.
Если вы используете MongoLog, вы можете очень легко определить, что происходит под капотом:
MongoLog::setModule(MongoLog::ALL); MongoLog::setLevel(MongoLog::ALL); MongoLog::setCallback('print_mongo_log'); function print_mongo_log($a, $b, $c) { echo $c, "\n"; }
Это отобразит все, что пытается сделать драйвер. Было бы интересно увидеть первый свалку, когда что-то пойдет не так, а также за один раз «застрял» в черном списке.
Вышеуказанное предупреждение исчезнет через 60 секунд или при перезагрузке вашего программного обеспечения веб-сервера (или PHP-FPM вы используете это). Если вы считаете, что это объяснение неверно, напишите запрос об ошибке / функции по адресу http://jira.mongodb.org/browse/PHP
По-видимому, это проблема, вызванная ошибкой в PHP-драйвере MongoDB. Проверьте, используете ли вы версию 1.4.0, если да, обновите ее до более новой версии, и ошибка должна быть исправлена.
Кажется, что mongo обрабатывает соединения самостоятельно, вы не должны использовать закрытое соединение в своем коде, если хотите использовать соединение persistence mongo, я решил эту проблему, удалив из mongo php-скрипт вроде этого:
НЕ ИСПОЛЬЗУЙТЕ ЗАКРЫТЬ …………..
$client = new MongoClient("mongodb://127.0.0.1:27017"); //close mongo connection $client->close();
Надеюсь быть полезным.