Pour pouvoir déboguer des "étrangetés aléatoires" comme celle-ci, il est très utile d'activer la journalisation interne du pilote. Le pilote fait beaucoup de choses dans les coulisses et peut cracher toutes sortes d'informations de débogage importantes.
Ajoutez ce qui suit en haut de votre script :
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Par défaut, l'enregistreur générera des "messages d'erreur php" (E_NOTICE/E_WARNING), si vous avez error_log activé, assurez-vous de vérifier ce fichier pour les résultats.
Pour votre chaîne de connexion (légèrement modifiée), j'obtiens les résultats suivants
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
Je soupçonne un problème de pare-feu à chaque extrémité. Pouvez-vous vous connecter au serveur à l'aide du shell mongo ?