Aby móc debugować „losowe dziwactwa” w ten sposób, bardzo przydatne jest włączenie wewnętrznego rejestrowania sterowników. Sterownik wykonuje wiele rzeczy za kulisami i może wypluć wszelkiego rodzaju ważne informacje dotyczące debugowania.
Dodaj następujące informacje u góry skryptu:
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Domyślnie logger wyśle "komunikaty o błędach php" (E_NOTICE/E_WARNING), jeśli masz włączony error_log, upewnij się, że sprawdziłeś ten plik pod kątem wyników.
Dla twojego (nieznacznie zmodyfikowanego) ciągu połączenia otrzymuję następujące wyniki
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
Podejrzewam problem z zaporą ogniową na obu końcach.. Czy możesz połączyć się z serwerem za pomocą powłoki mongo?