通过学习了如何使用和部署MongoDB,尝试了一下如何将mongodb应用到php的程式中去。

1.预备工作

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

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

参考方法与教程:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.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 Support enabled
Version 1.4.5
SSL Support enabled
Streams Support enabled
Directive Local Value Master Value
mongo.allow_empty_keys 0 0
mongo.chunk_size 262144 262144
mongo.cmd $ $
mongo.default_host localhost localhost
mongo.default_port 27017 27017
mongo.is_master_interval 15 15
mongo.long_as_object 0 0
mongo.native_long 0 0
mongo.ping_interval 5 5

则证明,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()

MongoDB与php的配合使用 【windows版】的更多相关文章

  1. MongoDB 3.0安全权限访问控制(Windows版)

    MongoDB 3.0安全权限访问控制(Windows版) 1.首先,不使用 –auth 参数,启动 mongoDB: mongod --dbpath "d:\mongodb\data\db ...

  2. MongoDB 3.4 安装以 Windows 服务方式运行

    1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\ ...

  3. Sass安装(windows版)

    Sass安装(windows版) 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/download ...

  4. MySQL设置字符集为UTF8(Windows版)

    Windows版MySQL设置字符集全部为utf8的方式 MySQL安装目录下的my.ini文件 [client]节点 default-character-set=utf8    (增加) [mysq ...

  5. python之环境搭建windows版

    1.先到python官网下载属于自己的的python版本,有linux版,有mac版,有windows版:https://www.python.org/downloads/windows/ 2.下载完 ...

  6. Windows版的各种Python库安装包下载地址与安装过程

    在用Python开发时(Windows环境),会碰到需要安装某个版本的第三方库,为了以后查找.安装方便,总结如下: windows版的各种Python库安装包下载地址:http://www.lfd.u ...

  7. 【转发】NPAPI开发详解,Windows版

    NPAPI开发详解,Windows版 9 jiaofeng601, +479 9人支持,来自Meteor.猪爪.hanyuxinting更多 .是非黑白 .Yuan Xulei.hyolin.Andy ...

  8. 微信电脑版真的要来了 微信Windows版客户端1.0 Alpha推出

    微信电脑版的搜索量一直很大,但只有网页版,之前也写了微信网页版APP - 网页微信客户端电脑版体验,在键盘上打字的感觉就是快.现在微信Windows版客户端1.0 Alpha推出了,来一睹芳容吧(20 ...

  9. 如何让windows版Safari支持H5 audio/video?

    今天在windows版Safari上看效果的时候惊奇地发现它竟然不支持HTML5的audio/video, 这样的话就无法复现不少ios上出现的问题. 在同事提醒下, 发现Safari HTML5 A ...

  10. Redis Windows版安装及简单使用

    1.Redis简介及优势 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次 ...

随机推荐

  1. css 默认样式

    body,textarea,input,select,option {font-size:12px;color:#333;font-family:Tahoma,Arial,sans-serif;} h ...

  2. 【Mood-3】心声

    每天醒来,我都会想明白一件事情,时间是不会停下来的,如果打算活下去的话,那么我们会有25岁,会有30岁,更会有40岁,为了不让时间风干我的理想,未来只剩下抱怨,那么为明天伏笔,今天只有努力.耸耸背上行 ...

  3. UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position xxx ordinal

    python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: 'ascii' codec can't deco ...

  4. C#中XML与对象之间的序列化、反序列化

    直接上代码: using System; using System.IO; using System.Text; using System.Xml; using System.Xml.Serializ ...

  5. CSS/CSS3 如何实现元素水平居中

    更新:可直接访问 [CSS/CSS3 如何实现元素水平居中] 查看效果,右键查看源代码 -------------------------------------------------分割线---- ...

  6. 一道简单的动态规划题目——House Robber

    一.题目 House Robber(一道Leetcode上的关于动态规划的简单题目)具体描述如下: There is a professional robber planning to rob hou ...

  7. hdu-5700 区间交(二分+树状数组)

    题目链接: 区间交 Problem Description   小A有一个含有n个非负整数的数列与mm个区间.每个区间可以表示为l​i​​,r​i​​. 它想选择其中k个区间, 使得这些区间的交的那些 ...

  8. uva 12587 二分枚举

    思路:维护一个森林,二分枚举最小的最大值. #include<set> #include<map> #include<cmath> #include<queu ...

  9. 访问iPhone通讯录的问题

    每个APP只显示一次上图的提示,即使卸载APP也不显示.如果想再次显示提示,可进入 设置-->通用-->还原-->还原位置与隐私,即可. 而且在ios6中文环境下,访问通讯录会出现错 ...

  10. C#常用的字符串操作, 包括截取

    1.取字符串的前i个字符 (1)string str1=str.Substring(0,i); (2)string str1=str.Remove(i,str.Length-i); 2.去掉字符串的前 ...