首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未明确的例外'MongoConnectionException‘

未明确的例外'MongoConnectionException‘
EN

Stack Overflow用户
提问于 2014-01-06 16:51:37
回答 1查看 7.2K关注 0票数 2
代码语言:javascript
复制
Fatal error: Uncaught exception 'MongoConnectionException' with message 
'Failed to connect to: localhost:27017: Permission denied' in 
/var/www/html/test.php:8 Stack trace: #0 /var/www/html/test.php(8): 
MongoClient->__construct() #1 {main} thrown in /var/www/html/test.php 
on line 8

嗨蒙戈专家..。

我是一个想尝试MongoDB的开发人员。于是在一台测试机器上安装了centoOS 6.5 64位(戴尔E520英特尔双核4GB Ram),安装了PHP6.5位(Apache已经存在)。

然后安装MongoDB (yum mongo-10 Then mongo-10 then服务器),然后安装"pecl install mongo“(install ok: channel://pel.php.net/mongo-1.4.5),将extension=mongo.so添加到php.ini中。

为了安装pecl,我安装了一些其他的东西,比如C++编译器&pear。php5-dev & php5-cli在yum因此安装的php-devel & php-cli中不可用(安装版本为php-devel-5.3.3-27.el6_5.x86_64和php-cli-5.3.3-27.el6_5.x86_64。

我关闭了iptables防火墙。Ran mongo -主机本地主机:27017来自shell &连接没有问题

代码语言:javascript
复制
[root@localhost ~]# mongo --host localhost:27017
MongoDB shell version: 2.4.8
connecting to: localhost:27017/test
> 

这些是test.php的内容

代码语言:javascript
复制
<?php
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
error_reporting(-1);

// connect
$m = new MongoClient();
//$m = new MongoClient("mongodb://localhost:27017");

// select a database
$db = $m->comedy;

// select a collection (analogous to a relational database's table)
$collection = $db->cartoons;

// add a record
$document = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($document);

// add another record, with a different "shape"
$document = array( "title" => "XKCD", "online" => true );
$collection->insert($document);

// find everything in the collection
$cursor = $collection->find();

// iterate through the results
foreach ($cursor as $document) {
    echo $document["title"] . "\n";
}
?>

如您所见,我尝试了$m =新MongoClient();& $m =新MongoClient("mongodb://localhost:27017");

但我也犯了同样的错误。我哪里出问题了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-07 17:59:50

这个问题在http://ca3.php.net/manual/en/mongo.installation.php#mongo.installation.fedora上有记录。

红帽、Fedora和CentOS:

这些系统上的默认Apache设置不允许请求建立网络连接,这意味着驱动程序在试图连接到数据库时将获得“拒绝权限”错误。如果遇到这种情况,请尝试运行:

$ /usr/sbin/setsebool -P httpd_can_network_connect 1

然后重启Apache。(这个问题也发生在SELinux中。)

谢谢你的支持!

希望这条线能帮助人们远离圈圈!

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20954985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档