【问题标题】:Installing and starting MongoDB for PHP on Ubuntu 12.04在 Ubuntu 12.04 上安装和启动 MongoDB for PHP
【发布时间】:2012-04-06 16:11:35
【问题描述】:

我已经从 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):
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 and PHP 一书中学习 MongoDB。这本书没有很好的安装 MongoDB 的教程。

谢谢。

【问题讨论】:

  • 尝试:sudo service mongodb start
  • 它说“mongodb:无法识别的服务”
  • 也许是 mongo 而不是 mongodb? (我使用的是 10gen 存储库中的版本,而不是 Ubuntu 版本。)
  • 我都试过了,它给出了同样的错误。我认为它可能没有正确安装,我猜但部件正在工作,它的数据库只是没有启动。

标签: ubuntu mongodb-php mongodb


【解决方案1】:

安装 MongoDB(不是从包中,但它会让你开始):

  • 从 www.mongodb.org/downloads 下载 2.0.4。
  • tar zxvf mongodb-...
  • 切换到刚刚解压的 mongodb 目录。
  • 创建一个目录来保存你的数据:

    $ mkdir myData
    
  • 运行:

    $ bin/mongod --dbpath myData
    

您应该会看到一些输出,然后是“等待端口 27017 上的连接”,然后它会“冻结”等待您开始使用它。此时您应该能够连接到它。

【讨论】:

    【解决方案2】:

    我不喜欢使用 Ubuntu 包,所以我会按照@kristina 所说的那样,从二进制文件中运行 MongoDB 非常容易……但既然您似乎更喜欢包,请运行……

    能力搜索 mongo

    你应该为 mongo-server 发送一个条目......安装它。

    如果您没有看到,请按照以下说明操作:http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

    然后您应该能够在本地连接,这也可以帮助您开始:http://learnmongo.com/posts/mongodb-php-install-and-connect/

    【讨论】:

      【解决方案3】:

      这在我的服务器上有效:

      http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages

      我对 /etc/mongodb.conf 文件进行了一项更改以启用 REST:

      #enable REST
      rest = true
      

      当我连接到它时,GridFS 也可以工作(Node.js 除外 - 但我认为我正在使用的驱动程序存在错误)。 所以总而言之,使用以下内容我没有什么可抱怨的:

      sudo apt-get install mongodb-10gen
      

      【讨论】:

        【解决方案4】:

        据我所知,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 服务器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-02-18
          • 1970-01-01
          • 2015-06-01
          • 2013-03-31
          • 2014-08-12
          • 2012-12-10
          • 2013-07-10
          相关资源
          最近更新 更多