MongoDB与php的配合使用 【windows版】
通过学习了如何使用和部署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版】的更多相关文章
- MongoDB 3.0安全权限访问控制(Windows版)
MongoDB 3.0安全权限访问控制(Windows版) 1.首先,不使用 –auth 参数,启动 mongoDB: mongod --dbpath "d:\mongodb\data\db ...
- MongoDB 3.4 安装以 Windows 服务方式运行
1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\ ...
- Sass安装(windows版)
Sass安装(windows版) 在 Windows 平台下安装 Ruby 需要先有 Ruby 安装包,大家可以到 Ruby 的官网(http://rubyinstaller.org/download ...
- MySQL设置字符集为UTF8(Windows版)
Windows版MySQL设置字符集全部为utf8的方式 MySQL安装目录下的my.ini文件 [client]节点 default-character-set=utf8 (增加) [mysq ...
- python之环境搭建windows版
1.先到python官网下载属于自己的的python版本,有linux版,有mac版,有windows版:https://www.python.org/downloads/windows/ 2.下载完 ...
- Windows版的各种Python库安装包下载地址与安装过程
在用Python开发时(Windows环境),会碰到需要安装某个版本的第三方库,为了以后查找.安装方便,总结如下: windows版的各种Python库安装包下载地址:http://www.lfd.u ...
- 【转发】NPAPI开发详解,Windows版
NPAPI开发详解,Windows版 9 jiaofeng601, +479 9人支持,来自Meteor.猪爪.hanyuxinting更多 .是非黑白 .Yuan Xulei.hyolin.Andy ...
- 微信电脑版真的要来了 微信Windows版客户端1.0 Alpha推出
微信电脑版的搜索量一直很大,但只有网页版,之前也写了微信网页版APP - 网页微信客户端电脑版体验,在键盘上打字的感觉就是快.现在微信Windows版客户端1.0 Alpha推出了,来一睹芳容吧(20 ...
- 如何让windows版Safari支持H5 audio/video?
今天在windows版Safari上看效果的时候惊奇地发现它竟然不支持HTML5的audio/video, 这样的话就无法复现不少ios上出现的问题. 在同事提醒下, 发现Safari HTML5 A ...
- Redis Windows版安装及简单使用
1.Redis简介及优势 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. 特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次 ...
随机推荐
- JavaScript中数组操作
var arr1=new Array(); arr1.push(1);//在数组的中末尾添加元素,并返回新的长度 arr1.push(2);//在数组的中末尾添加元素,并返回新的长度 arr1.pop ...
- C# mvc--ORM框架中EF的作用和特点
存放于System.Linq.QueryAble 静态类中 并且所有的扩展方法扩展自 IqueryAble<TSource>泛型接口上 用途: 接收lambda表达式 利用EF生成对应的s ...
- 认识C中的结构体
C中结构体是另外一种表示数据形式的方式,结构体中可以表示C中的基本数据形式,如int,double....结构体可以让我们更好的表示数据.下面来看看结构体. 说到结构体首先要了解的是它的申明形式,要申 ...
- IOS 开发中判断NSString是否为空字符
//当 请求网络 或者获取其他返回数据 首先 要做一次判断 数据是否为空 防止程序崩溃 程序崩溃 好比拿刀扎在程序员的心啊- if(为空) { 做提示对话框等操作 } else { 正常执行 } - ...
- CALayer实现点击屏幕放大或者缩小的一个圆
#import "ViewController.h" #define WIDTH 50 @interface ViewController () @end @implementat ...
- 【原创】利用C++ RAII技术自动回收堆内存
[说明]这篇文章本来发布在我个人网站的博客上,但由于:1,打算以cnblogs为家了:2. 关于智能指针部分需要修订,所有将修订版发在这里,作为第一篇文章. 常遇到的动态内存回收问题 在C++的编程过 ...
- 精通CSS高级Web标准解决方案(1-2 层叠与特殊性)
层叠与特殊性 选择器的特殊性分成四个等级,a.b.c . d 如果样式是行内样式,那么a=1 b=ID选择器的总数 c=类.伪类.属性选择器的总数 d=标签选择器与伪元素选择器数量 例如:style ...
- EL 标准格式时间 转换成 常用时间yyyy-MM-dd
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt"%><fmt:format ...
- 使用subversion搭建SVN
使用subversion搭建SVN需要用到的软件包有subversion,apr,apr-util,sqlite,zlib,因为在编译安装subversion时需要指明apr.apr-util.sql ...
- BZOJ 2879: [Noi2012]美食节 最小费用流 动态添边
2879: [Noi2012]美食节 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 324 Solved: 179[Submit][Status] ...