Um "zufällige Verrücktheiten" wie diese debuggen zu können, ist es sehr nützlich, das interne Treiber-Logging einzuschalten. Der Treiber erledigt eine Menge Dinge hinter den Kulissen und kann alle möglichen wichtigen Debug-Informationen ausspucken.
Fügen Sie am Anfang Ihres Skripts Folgendes hinzu:
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Standardmäßig gibt der Logger "php-Fehlermeldungen" (E_NOTICE/E_WARNING) aus, wenn Sie error_log aktiviert haben, stellen Sie sicher, dass Sie diese Datei auf die Ergebnisse überprüfen.
Für Ihre (leicht modifizierte) Verbindungszeichenfolge erhalte ich die folgenden Ergebnisse
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
Ich vermute ein Firewall-Problem an beiden Enden. Können Sie sich mit der Mongo-Shell mit dem Server verbinden?