MongoDB Blacklisted Fatal Error

Я видел эту ошибку пару раз, и, чтобы исправить это, я просто перезагрузил свой сервер.

Неустранимая ошибка: не удалось исключить «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

Тем не менее, я могу быть, не видя этого … Как я могу предотвратить эту проблему?

обновление: это произошло снова, и после нескольких минут ожидания мне пришлось перезагрузиться, чтобы сайт снова работал

Related of "MongoDB Blacklisted Fatal Error"

Начиная с версии 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(); 

Надеюсь быть полезным.