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,命令來重啓網絡服務。

相關文章
相關標籤/搜索