簡體   English   中英

“致命錯誤:未捕獲的異常'MongoConnectionException',消息為'無法連接至:/tmp/mongodb-27017.sock:0:連接被拒絕'”

[英]“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM