このような「ランダムな奇妙さ」をデバッグできるようにするには、内部ドライバーロギングをオンにすることが非常に便利です。ドライバーは舞台裏で多くのことを行い、あらゆる種類の重要なデバッグ情報を吐き出すことができます。
スクリプトの先頭に次を追加します。
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
デフォルトでは、ロガーは「phpエラーメッセージ」(E_NOTICE / E_WARNING)を出力します。error_logを有効にしている場合は、そのファイルで結果を確認してください。
(わずかに変更された)接続文字列について、次の結果が得られます
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
どちらかの端にファイアウォールの問題があると思われます。mongoシェルを使用してサーバーに接続できますか?