For at kunne debugge "tilfældige mærkelige ting" som denne, er det meget nyttigt at slå den interne driverlogning til. Driveren gør en masse ting bag kulisserne og kan spytte alle slags vigtige fejlretningsoplysninger ud.
Tilføj følgende øverst i dit script:
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Som standard udsender loggeren "php-fejlmeddelelser" (E_NOTICE/E_WARNING), hvis du har error_log aktiveret, skal du sørge for at tjekke den fil for resultaterne.
For din (lidt modificerede) forbindelsesstreng får jeg følgende resultater
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
Jeg har mistanke om et firewall-problem i begge ender. Kan du oprette forbindelse til serveren ved hjælp af mongo-skallen?