在Ubuntu 12.04上安装和启动MongoDB for PHP
我已经从PECL安装了在Ubuntu 12.04上安装和启动MongoDB for PHP,ubuntu,mongodb-php,mongodb,Ubuntu,Mongodb Php,Mongodb,我已经从PECL安装了mongo扩展,并将其添加到我的php.ini文件中。运行phpinfo()时加载扩展但在尝试连接到Mongo服务器时显示此错误 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): M
mongo
扩展,并将其添加到我的php.ini
文件中。运行phpinfo()时加载扩展代码>但在尝试连接到Mongo服务器时显示此错误
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()代码>告诉我它在本地主机的默认端口上运行
此外,我还为Ubuntu安装了mongodb_客户端
软件包,当我从终端使用它时,它也无法连接到运行的默认服务器,尽管它可以连接到MongoLab上的服务器。PHP脚本也无法连接到MongoLab服务器
在阅读了SO和其他网站上的许多问题和答案后,我猜我的计算机上的MongoDB服务器没有打开。所有的文章都告诉我去安装MongoDB的文件夹,但是我在/var/lib
或/usr/lib
中没有任何文件夹
请帮助我让这个MongoDB正常工作,我想继续从Steve Francia的MongoDB和PHP书中学习MongoDB。这本书没有关于安装MongoDB的好教程
谢谢。安装MongoDB(不是从软件包中,但它会让您开始):
- 从www.mongodb.org/downloads下载2.0.4
tar zxvf mongodb-…
- 更改为刚卸载的mongodb目录
- 创建一个目录以保存您的数据:
$ mkdir myData
- 运行:
$ bin/mongod --dbpath myData
您应该看到一些输出,然后“等待端口27017上的连接”,然后它将“冻结”等待您开始使用它。在这一点上,你应该能够连接到它。我不喜欢使用Ubuntu软件包,所以我会按照@kristina所说的,MongoDB非常容易从二进制文件运行。。。但既然你似乎更喜欢套餐,那就跑吧
智能搜索mongo
您应该为mongo服务器输入一个条目。。。安装那个
如果看不到,请按照以下说明操作:
然后,您应该能够在本地连接,这也可能有助于您开始工作:这在我的服务器上起作用:
我对/etc/mongodb.conf文件做了一个更改以启用REST:
#enable REST
rest = true
当我连接到GridFS时,它也可以工作(除了Node.js,但我认为我使用的驱动程序中有一个bug)。
总而言之,使用以下工具我没有什么可抱怨的:
sudo apt-get install mongodb-10gen
据我所知,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服务器。try:sudo服务mongodb startit说“mongodb:无法识别的服务”可能是mongo而不是mongodb?(我使用的是10gen repo版本,而不是Ubuntu版本。)我尝试了这两个版本,它给出了相同的错误。我认为它可能没有正确安装,但我猜部分工作,其数据库只是没有启动。