通过学习了如何使用和部署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. IOS webView快照

    这个功能就是对网页的存储,存储成png格式的图片 且不失真 很棒的一个小方法.具体实现如下: - (void)webViewDidFinishLoad:(UIWebView *)webView1 { ...

  2. Android小项目练习之一 项目简介

    ------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...

  3. Android学习笔记④——页面的布局方式

    FrameLayout(帧布局) 这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图.可以根据gravity来改 ...

  4. mysql的相关操作

    查看当前登录用户: mysql> select USER(); +----------------+ | USER() | +----------------+ | root@localhost ...

  5. Gulp 自动化的项目构建工具

    在很多场合都会听到前端工和 node 程师推荐 Grunt 来实现项目的自动化,自动化可以自动完成 javascript/coffee/sass/less 等文件的的测试.检查.合并.压缩.格式化.部 ...

  6. Shuffle an Array

    class Solution { private: vector<int> arr, idx; public: Solution(vector<int> nums) { sra ...

  7. 【转】亿欧盘点:杭州十家代表性O2O企业

    [ 亿欧导读 ] 11月13日亿欧网将走入杭州,联合B座12楼.正和岛召开“2014 中国O2O新商业峰会“.亿欧网据O2O产业图谱,整理出杭州十家O2O企业:点我吧.快的打车.杭州19楼.婚礼纪.淘 ...

  8. 关于MSSQL导入导出时主键与约束丢失的问题解决

    导入数据时,使用默认选项,会丢失主键.约束.默认值等属性,按如下步骤操作: -->导出向导 -->选择数据源 -->选择目的 -->指定表复制或查询:不要使用默认选项,选择“在 ...

  9. ElasticSearch 高可用分布式集群搭建,与PHP多线程测试

    方案: 使用HAproxy:当其中一台ElasticSearch Master宕掉时,ElasticSearch集群会自动将运行正常的节点提升为Master,但HAproxy不会将失败的请求重新分发到 ...

  10. .NET DLL 保护措施详解(二)关于性能的测试

    先说结果: 加了缓存的结果与C#原生代码差异不大了 我对三种方式进行了测试: 第一种,每次调用均动态编译 第二种,缓存编译好的对象 第三种,直接调用原生C#代码 .net dll保护系列 ------ ...