【发布时间】:2017-07-17 14:27:43
【问题描述】:
我有以下代码:
$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=
任何人都知道问题是什么,或者我可以如何进一步调试?谢谢
【问题讨论】:
-
你的 /tmp 目录的权限和所有权是什么?
-
嗨。 tmp 目录是
drwxrwxrwt 7 root root 20480 Jan 28 08:17 tmp/ -
不使用
$options,只使用$this->connection = new MongoClient($uri);是否有效? -
另外,当你重新启动 mongo 时,你更改的权限将在重新创建套接字时恢复为 700。