![](/img/trans.png)
[英]Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: localhost:27017
[英]“Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: /tmp/mongodb-27017.sock:0: Connection refused''”
我有以下代碼:
$this->connection = new MongoClient($uri, $options);
$this->database = $database;
但是,在$this->connection
我得到:
Fatal error: Uncaught exception 'MongoConnectionException' with message 'Failed to connect to: /tmp/mongodb-27017.sock:0: Connection refused' in...
如果我輸出以下內容:
var_dump($uri, $options); exit;
我得到:
string(33) "mongodb:///tmp/mongodb-27017.sock" array(1) { ["connect"]=> bool(true) }
這是在我的開發環境中,我沒有為Mongo使用任何用戶名/密碼,因為我可以僅憑mongo reputation
登錄到Mongo shell。 從那里我可以查看館藏和文件。
最初,我的權限被拒絕,但是我將dev /tmp/mongodb-27017.sock的權限更改為777。現在,我收到“連接被拒絕”的信息。
無論如何,下面是我的ll /tmp/
目錄中的文件:
srwxrwxrwx 1 mongodb mongodb 0 Jan 28 07:47 mongodb-27017.sock=
任何人都知道問題是什么,或者我如何進一步調試? 謝謝
我建議在PHP中不要連接到您的進程可能沒有訪問權限的套接字。 如果您修改套接字的權限,那只是暫時的。 當您停止mongo db時,它將刪除套接字,下次啟動時,權限將恢復為默認值(我認為是700)。
而是連接到默認端口(27017),然后在127.0.0.1上打開mongo。
將PHP中的連接字符串更改為以下內容:
$uri = "mongodb://127.0.0.1";
$this->connection = new MongoClient($uri, $options);
$connection= new \MongoClient("mongodb://localhost:27017");
return $this->db = $connection->selectDB($config['dbname']);
試試這個連接本地mongoDB。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.