您的位置:首页 > 数据库 > Mongodb

MongoDB与php的配合使用 【windows版】

2014-01-15 11:56 141 查看
通过学习了如何使用和部署MongoDB,尝试了一下如何将mongodb应用到php的程式中去。

1.预备工作

首先得准备好mongodb,并按照相关方法部署以及服务能正常运行中。

对于初学者,可以参考‘码农’的教程,写得非常详细与实用。

参考方法与教程:/article/4582384.html

d:\mongodb\bin>net start MongoDB

php与apache环境的准备

要是比较的懒,可以去XAMPP下一个一体化安装包,包括php/apache/mysql等,并且环境已经是集成了的。只需要向htdocs/下面放php程序就可以访问。

XAMPP地址:http://www.apachefriends.org/zh_cn/xampp-windows.html (完整的安装与应用)

mongodb 的 drivers,就是一些动态链接库文件。

地址:https://s3.amazonaws.com/drivers.mongodb.org/php/index.html

2.mongodb与php的集成

 (1).找到xampp中的ext目录:

比如我的是安装在D盘: D:\xampp\php\ext

(2).将下载的动态链接库文件copy到上面的目录D:\xampp\php\ext

php_mongo-1.4.5-5.5-vc11.dll copy to D:\xampp\php\ext

(3).修改php.ini的配置

位置:D:\xampp\php.ini

用编辑器打开此文件,找到 ; Windows Extensions

并在此块的最后添加一行配置(约:1033行的位置)

extension=php_mongo-1.4.5-5.5-vc11.dll

保存,并重启Apache服务。

3.调试与调用

在xampp/htdocs/下面写一个test.php ,

<?php

phpinfo();

?>


在浏览器上运行此test.php,如果可以找到配置项,

mongo

MongoDB Supportenabled
Version1.4.5
SSL Supportenabled
Streams Supportenabled
DirectiveLocal ValueMaster Value
mongo.allow_empty_keys00
mongo.chunk_size262144262144
mongo.cmd$$
mongo.default_hostlocalhostlocalhost
mongo.default_port2701727017
mongo.is_master_interval1515
mongo.long_as_object00
mongo.native_long00
mongo.ping_interval55
则证明,mongodb已经与php集成在一起了。

可以写个小程序测试一下:

<?php

//我的mongodb是安装在本机,并且使用的是2222端口。
//mongodb://$server-path or $ip-address:$port
$client = new MongoClient("mongodb://127.0.0.1:2222");

//select test database and select person records.
$collection = $client->test->person;

$result = $collection->findOne();
var_dump($result);

//NULL

//从浏览器上看到的结果为:NULL

$array = array(
'name'=>'test',
'age'=>25,
'address'=>array(
'province'=>'guangdong',
'city'=>'shenzhen',
'zone'=>array(
'area'=>'nanshan',
'local'=>'xilili')
)
);
$ret = $collection->insert($array);
var_dump($ret);

//结果为:
array(4) {
["n"]=>
int(0)
["connectionId"]=>
int(2)
["err"]=>
NULL
["ok"]=>
float(1)
}

$res = $collection->findOne();
var_dump($res);
//结果为:
array(4) {
["_id"]=>
object(MongoId)#7 (1) {
["$id"]=>
string(24) "52d605b0a6b9f6581000002b"
}
["name"]=>
string(4) "test"
["age"]=>
int(25)
["address"]=>
array(3) {
["province"]=>
string(9) "guangdong"
["city"]=>
string(8) "shenzhen"
["zone"]=>
array(2) {
["area"]=>
string(7) "nanshan"
["local"]=>
string(6) "xilili"
}
}
}

//由mongo的客户端直接查看db也可以看到
d:\mongodb\bin>mongo 127.0.0.1:2222

>use test
>db.person.find()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: