找不到合适的服务器(`serverSelectionTryOnce` set):[连接超时调用ismaster on '10 .0.0.106:27017']

时间:2017-03-21 12:29:25

标签: php mongodb laravel laravel-5 php-mongodb

我在laravel项目中使用mongoDB这个问题

ConnectionTimeoutException in Collection.php line 192:
No suitable servers found (`serverSelectionTryOnce` set): [connection
timeout calling ismaster on '10.0.0.106:27017']

我做了

 service ngnix restart 

但它不起作用我不知道怎么解决它

3 个答案:

答案 0 :(得分:2)

原因是mongod服务器默认不支持ipv6,但systemOS使用了ipv6。 你可以删除系统上的ipv6: 删除此行

::1 localhost' from /etc/hosts

或者,启用mongod ipv6支持! 例如:

./bin/mongod --filePermissions 0777 --ipv6

答案 1 :(得分:0)

当我改变php版本时,我遇到了这个问题。我的解决方案是将mongo扩展添加到新php版本的php.ini文件中。我在mac上的php.ini

/usr/local/etc/php/7.1/php.ini

添加

;extension=mongodb.so

答案 2 :(得分:0)

原因是到数据库的开放连接请求过多。请检查您的应用程序中是否有正在运行的Ajax调用。您可以登录到托管数据库集群的地方​​cloudmongo,然后查看集合数量超过100个。同一集群中可能有太多数据库。我建议您将几个数据库移至另一个群集。

希望有帮助。