剛接觸mongoDB,一切從零開始。搞了一下午,搞定了安裝,整理一下。
一.mongoDB的安裝 我是在Linux下進行安裝的,步驟如下:
1. 下載安裝包 一定要注意自己的機器是32位還是64位,不然下來的包無法使用。我開始就是下錯了包,安裝後一執行就提示Floating point exception,白折騰半天。 下載頁面 http://www.mongodb.org/downloads,可以根據自己機器的不同選擇適合的版本。 我下載的是 static-2.5.0,32位版本。
2. 安裝 其實安裝過程很簡單,解個壓就行了
tar xvzf mongodb-linux-i686-static-2.5.0.tgz
3. 起動mongoDB 假設解壓後的目錄為 /home/qmhball/mongo,mangoDB相關的可執行檔位於/home/qmhball/mongo/bin目錄下。 寫一份簡單的設定檔 mongod.conf
#資料目錄dbpath = /home/qmhball/mongo/dbport = 9304bind_ip = 10.1.146.163#日誌目錄logpath = /home/qmhball/mongo/log/mongo.loglogappend = true#以後台Daemon形式運行服務fork = true
執行
cd /home/qmhball/mongo/bin./mongod --config mongod.conf
成功啟動後,你會在日誌中看到類似下面的資訊 Wed May 22 15:53:59.825 [initandlisten] MongoDB starting : pid=10527 port=9304 dbpath=/home/qmhball/mongo/db 32-bit host=web
4.測試 在bin目錄下執行
./mongo --host 10.1.146.163 --port 9304
進入互動模式 鍵入 db.test.save( { a: 1 } ) db.test.find() 會得到 { "_id" : ObjectId("519cebd23c053d9709065602"), "a" : 1 } 說明資料已被存入db
二.php擴充的安裝
1.下載源碼並解壓 源碼包地址 http://pecl.php.net/get/mongo-1.4.0.tgz
2.安裝 假設解壓目錄為mongo-1.4.0 進入mongo-1.4.0目錄,依次執行:
phpize./configuremakemake install
安裝成功後會得到類似下面的提示 Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/ 在此目錄下你會找到mongo.so
3.修改php配置 在php.ini中加入
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20090626/mongo.so
大功告成。 tips:如果是在apache等web service下運行記得重啟服務,新的擴充才會生效。
4.測試 demo.php
<?php$user = array( 'first_name' => 'MongoDB', 'last_name' => 'Fan', 'tags' => array('developer','user') );// Configuration$dbhost = '10.1.146.163:9304';$dbname = 'test';// Connect to test database$m = new Mongo("mongodb://$dbhost");$db = $m->$dbname;// Get the users collection$users = $db->users;//Insert this new document into the users collection$res = $users->save($user);var_dump($res);$data = $users->findOne();var_dump($data);
執行,得到 bool(true) array(4) { ["_id"]=> object(MongoId)#7 (1) { ["$id"]=> string(24) "519cf324876d75714cb4e973" } ["first_name"]=> string(7) "MongoDB" ["last_name"]=> string(3) "Fan" ["tags"]=> array(2) { [0]=> string(9) "developer" [1]=> string(4) "user" } }