PHP链接MongoDB数据库报错“No suitable servers found (`serverSelectionTryOnce` set)”的解决办法

故障缘由:谷歌搜索这段报错的提示,很容易找到故障的缘由。主要是由于服务器开启了ipv6支持,可是MongoDB默认是不开启ipv6的支持的。进一步深层次的缘由,目前谷歌搜索也没几个说的明白的,先说说解决问题的办法吧。vim

第一:链接单节点的MongoDB服务器的解决方法服务器

(1)删除操做系统中ipv6解析,删除/etc/hosts'中的'::1 localhost, 这一行网络

(2)开启mongod的ipv6支持,参数:./bin/mongod –filePermissions 0777 –ipv6操作系统

而后在mongo的配置里,host使用“localhost:27017”。rest

第二:若是第一种方法解决不了,或者你采用的是副本集的MongoDB链接字符串,能够采用永久禁用IPv6的方法来解决这个问题code

vim  /etc/sysctl.conf   命令修改或者添加系统配置文件接口

# 禁用整个系统全部接口的IPv6ip

net.ipv6.conf.all.disable_ipv6 = 1字符串

# 禁用某一个指定接口的IPv6(例如:eth0, lo)it

net.ipv6.conf.lo.disable_ipv6 = 1

net.ipv6.conf.eth0.disable_ipv6 = 1

修改完毕后,使用sysctl -p命令使得配置生效。

而后经过/etc/init.d/network restart,命令来重启网络服务。

相关文章
相关标签/搜索