2012-04-06 86 views
2

我已經安裝了PECL的mongo擴展,並將其添加到我的php.ini文件中。我運行phpinfo();時擴展程序加載,但在嘗試連接到Mongo Server時顯示此錯誤。在Ubuntu上安裝和啓動MongoDB for PHP 12.04

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();告訴我它在默認端口上的本地主機上運行。

另外我安裝mongodb_client包的Ubuntu,這也不能在當我使用它從終端默認服務器運行連接,雖然它可以連接到服務器上MongoLab。 PHP腳本也無法連接到MongoLab服務器。

在閱讀了許多有關SO和其他網站的問題和解答之後,我猜想我的計算機上的MongoDB服務器未打開。所有文章告訴我去哪裏可以安裝MongoDB的一些文件夾,但我沒有任何文件夾中/var/lib/usr/lib

請幫我把這個MongoDB的工作,我想繼續從學習的MongoDB MongoDB和PHP由Steve Francia所着。本書沒有關於安裝MongoDB的好教程。

謝謝。

+0

嘗試:sudo服務mongodb開始 – 2012-04-06 16:20:19

+0

它說「mongodb:無法識別的服務」 – 2012-04-06 16:48:42

+1

也許它是mongo而不是mongodb? (我正在使用10gen回購版而不是Ubuntu版本。) – 2012-04-06 16:54:19

回答

3

安裝MongoDB的(不是從一包,但它會讓你開始):從www.mongodb.org/downloads

  • 下載2.0.4。
  • tar zxvf mongodb-...
  • 更改爲您剛剛解開的mongodb目錄。
  • 建立一個目錄來保存你的數據:

    $ mkdir myData 
    
  • 運行:

    $ bin/mongod --dbpath myData 
    

你應該會看到一些輸出,然後 「等待在端口27017連接」,然後將其會「凍結」等待你開始使用它。那時你應該可以連接到它。

2

我perfer不使用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/

2

這個工作我的服務器上:

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 
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服務器。