php mongoDB扩展

刚接触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
  1. #数据目录  
  2. dbpath = /home/qmhball/mongo/db  
  3. port = 9304  
  4. bind_ip = 10.1.146.163  
  5. #日志目录  
  6. logpath = /home/qmhball/mongo/log/mongo.log  
  7. logappend = true  
  8. #以后台Daemon形式运行服务  
  9. fork = true  
#数据目录
dbpath = /home/qmhball/mongo/db
port = 9304
bind_ip = 10.1.146.163
#日志目录
logpath = /home/qmhball/mongo/log/mongo.log
logappend = true
#以后台Daemon形式运行服务
fork = true

执行

  1. cd /home/qmhball/mongo/bin  
  2. ./mongod --config mongod.conf  
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目录下执行
  1. ./mongo --host 10.1.146.163 --port 9304  
 ./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目录,依次执行:
  1. phpize  
  2. ./configure  
  3. make  
  4. make install  
phpize
./configure
make
make install
安装成功后会得到类似下面的提示
Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20090626/
在此目录下你会找到mongo.so

3.修改php配置
在php.ini中加入
  1. extension=/usr/local/lib/php/extensions/no-debug-non-zts-20090626/mongo.so  
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20090626/mongo.so
大功告成!
tips:如果是在apache等web service下运行记得重启服务,新的扩展才会生效。

4.测试
demo.php
  1. <?php  
  2. $user = array(  
  3.                 'first_name' => 'MongoDB',  
  4.                 'last_name' => 'Fan',  
  5.                 'tags' => array('developer','user')  
  6.              );  
  7. // Configuration  
  8. $dbhost = '10.1.146.163:9304';  
  9. $dbname = 'test';  
  10. // Connect to test database  
  11. $m = new Mongo("mongodb://$dbhost");  
  12. $db = $m->$dbname;  
  13. // Get the users collection  
  14. $users = $db->users;  
  15. //Insert this new document into the users collection  
  16. $res = $users->save($user);  
  17. var_dump($res);  
  18. $data = $users->findOne();  
  19. var_dump($data);   
<?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"
  }
}













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值