От версиите 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"; }
Това ще покаже всичко, което драйверът се опитва да направи. Би било интересно да видим първия dump, когато нещо се обърка, а също и за един път е "заседнал" в черния списък.
Горното предупреждение ще изчезне след 60 секунди или при рестартиране на софтуера на вашия уеб сървър (или PHP-FPM, ако го използвате). Ако смятате, че това обяснение не е правилно, моля, подайте заявка за грешка/функция на http://jira. mongodb.org/browse/PHP