Aby bylo možné ladit „náhodné podivnosti“, jako je tato, je velmi užitečné zapnout interní protokolování ovladače. Ovladač dělá spoustu věcí v zákulisí a může chrlit všechny důležité informace o ladění.
Na začátek skriptu přidejte následující:
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Ve výchozím nastavení logger chrlí „chybové zprávy php“ (E_NOTICE/E_WARNING), pokud máte povolený error_log, zkontrolujte, zda jsou v souboru výsledky.
Pro váš (mírně upravený) připojovací řetězec dostávám následující výsledky
Notice: PARSE INFO: Parsing mongodb://theAdmin:[email protected]: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
Mám podezření na problém s firewallem na obou koncích. Můžete se připojit k serveru pomocí mongo shellu?