我已经从PECL安装了mongo
扩展程序并将其添加到我的php.ini
文件中。我运行phpinfo();
时会加载扩展程序,但在尝试连接到Mongo Server时会显示此错误。
Fatal error: Uncaught exception 'MongoConnectionException' with message 'Transport
endpoint is not connected' in /var/www/mongo.php:2 Stack trace: #0 /var/www/mongo.php(2):
Mongo->__construct() #1 {main} thrown in /var/www/mongo.php on line 2
phpinfo();
告诉我它在默认端口的localhost上运行。
我也为Ubuntu安装了mongodb_client
软件包,虽然它可以连接到 MongoLab 上的服务器,但它在终端上使用它时也无法连接到默认服务器上。 PHP脚本也无法连接到 MongoLab 服务器。
在SO和其他网站上阅读了很多问题和答案后,我想我的计算机上的MongoDB服务器没有打开。所有文章告诉我去一些可能安装了MongoDB的文件夹,但我在/var/lib
或/usr/lib
请帮助我使MongoDB正常工作,我想继续从Steve Francia的 MongoDB和PHP 一书中学习MongoDB。这本书没有关于安装MongoDB的好教程。
感谢。
答案 0 :(得分:3)
安装MongoDB(不是从包中,但它会让你入门):
tar zxvf mongodb-...
创建一个目录来保存您的数据:
$ mkdir myData
执行命令
$ bin/mongod --dbpath myData
您应该看到一些输出,然后“等待端口27017上的连接”,然后它“冻结”等待您开始使用它。此时你应该可以连接到它。
答案 1 :(得分:2)
我不使用Ubuntu软件包,所以我会这样做,因为@kristina说MongoDB很容易从二进制文件中运行......但是因为你似乎更喜欢一个包,所以运行...
aptitude search mongo
您应该为 mongo-server 安装该条目。
如果您没有看到,请按以下说明操作:http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
然后您应该能够在本地连接,这也可以帮助您开始:http://learnmongo.com/posts/mongodb-php-install-and-connect/
答案 2 :(得分:2)
这在我的服务器上运行:
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
我对/etc/mongodb.conf文件进行了一次更改以启用REST:
#enable REST
rest = true
当我连接到GridFS时,GridFS也能正常工作(除了来自Node.js - 但我认为我正在使用的驱动程序中存在一个错误)。 总而言之,我不能抱怨使用以下内容:
sudo apt-get install mongodb-10gen
答案 3 :(得分:1)
据我所知,mongodb php驱动程序并不关心你如何运行mongod服务器。唯一重要的是应该运行mongod实例,并在右端口连接它。因此,请确保连接到正确的端口。
为了让mongodb更轻松,您可以使用mongodb下载部分中的二进制可执行文件。 Ubuntu apt-get安装可能会给你带来一些麻烦。
对我来说,我更喜欢为我的操作系统下载准备使用二进制文件。然后我提取并将其放在/ op /文件夹中,以便mongodb可执行文件位于/ opt / mongo / bin /
在此之后,我将此文件夹添加到$ PATH变量,以便我可以从任何地方运行mongodb命令。为此,我将PATH =“$ PATH:/ opt / mongo / bin”添加到主文件夹中的.bashrc文件中。
这种方法为我提供了一种简单的升级方法,我只需复制并替换/ opt / mongo / bin文件夹即可。然后重启mongod服务器。