MongoDB给出了奇怪的连接错误

时间:2011-03-24 20:26:35

标签: php mongodb

我在使用PHP连接到MongoDB时遇到问题。 这是我的代码:

<?php
$server = new Mongo('localhost:27017'); 
$db = $server->sampleDB;
$coll = $db->sample;
?>

这会产生以下错误:

Fatal error: Uncaught exception 'MongoConnectionException' with message 'localhost:27017: couldn't get host info for localhost' in /var/www/example/index.php:2 Stack trace: #0 /var/www/example/index.php(2): Mongo->__construct('localhost:27017') #1 {main} thrown in /var/www/wexample/index.php on line 2

2 个答案:

答案 0 :(得分:5)

发现问题; 由于某些原因,Mongo只是在127.0.0.1上听,而不是localhost

因此,使用$server = new Mongo("mongodb://127.0.0.1:27017");代替$server = new Mongo("mongodb://localhost:27017");解决问题:)

感谢您的帮助, 詹姆斯

答案 1 :(得分:2)

关注PHP Manual

  

无法获取[server]

的主机信息      

这表明DNS不能   解析您提供的服务器地址。   这可能很容易造成错字,   例如,“服务器”而不是   “$服务器”。

同样,您可能希望阅读PHP文档中的Connecting part of the MongoDB section

修改

你试过这个吗?:

$server = new Mongo("mongodb://localhost:27017");