Untuk dapat men-debug "keanehan acak" seperti ini, sangat berguna untuk mengaktifkan pencatatan driver internal. Pengemudi melakukan banyak hal di belakang layar, dan dapat mengeluarkan semua jenis informasi debug penting.
Tambahkan berikut ini di bagian atas skrip Anda:
<?php
MongoLog::setLevel(MongoLog::ALL);
MongoLog::setModule(MongoLog::ALL);
?>
Secara default logger akan mengeluarkan "php error messages" (E_NOTICE/E_WARNING), jika Anda mengaktifkan error_log, pastikan untuk memeriksa file tersebut untuk melihat hasilnya.
Untuk string koneksi Anda (sedikit dimodifikasi), saya mendapatkan hasil berikut
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
Saya menduga ada masalah firewall di kedua ujungnya.. Bisakah Anda terhubung ke server menggunakan shell mongo?