windows MongoDB安装

下载安装程序

http://www.mongodb.org/的下载页找到windows 32位的安装程序,实际是一个绿色的程序。本文以mongodb-win32-i386-1.6.0.zip 为例。

配置运行MongoDB

将下载下来的mongodb压缩包解压缩到目标目录,比如D:\mongodb ,先打开cmd命令行,输入:

d:\mongodb\bin>mongod.exe –dbpath d:\mongodb\db

这里的d:\mongodb 目录下没有db文件夹需要自己建立一个,此时mongod 进程运行起来,再打开一个cmd窗口,输入:

d:\mongodb\bin\mongo.exe

进入mongodb命令模式 Continue reading »windows MongoDB安装

MySQL server has gone away

今天用phpmyadmin导入数据库数据,由于数据库文件稍大一些足有三四十兆,导入时直接出现内存分配不足的fatal error。不得不用命令行导入恢复数据库:mysql -u user -p pass database<data.sql 结果,出现了奇怪的“MySQL server has gone away”。网上搜索了一下,需要修改一下mysql的配置文件。

针对这种情况的出现的成因有两种:

1、应用程序(比如PHP)长时间的执行批量的MYSQL语句。最常见的就是采集或者新旧数据转化。可以通过修改配置文件添加上

wait_timeout=2880000 interactive_timeout = 2880000 延长执行和交互时间,如果不能直接修改mysql.conf,也可以在执行sql文件中最前面加一句”set interactive_timeout=24*3600″,将执行时间延长。

2、执行一个SQL,但SQL语句过大或者语句中含有BLOB或者longblob字段。比如,图片数据的处理。需要设置一下“通信缓冲区的最大长度”

max_allowed_packet = 100M

PHP操作MongoDB

本教程[翻译自PHP官方手册]

MongoDB是最近比较流行的NoSQL数据库,网络上关于PHP操作MongoDB的资料太少了,大部分都是英文文档,于是蜗牛我用蹩脚的英语为大家翻译一下来自PHP官方的文档,水平有限请多多见谅

链接数据库 使用下面的代码创建一个数据库链接

<?php $connection = new Mongo(); //链接到 localhost:27017 $connection = new Mongo( “example.com” ); //链接到远程主机(默认端口) $connection = new Mongo( “example.com:65432″ ); //链接到远程主机的自定义的端口 ?>

现在你可以使用$connection链接来操作数据库了

选择数据库 使用下面的代码来选择一个数据库

<?php $db = $connection->dbname; ?>

这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名 如果拼写错误的话,很有可能会新建一个数据库

<?php $db = $connection->mybiglongdbname; //做一些事情 $db = $connection->mybiglongdbnme; //现在会连上一个新的数据库 ?>

获取一个集合 获取一个集合跟选择数据库拥有相同的语法格式

<?php $db = $connection->baz;//选择数据库 $collection = . . . → Read More: PHP操作MongoDB

什么是MongoDB

2010年应该被人们记住,因为SQL将在这一年死去。这一年关系数据库行将就木,这一年开发者发现他们再不需要长时间辛苦的构造列或者表格来存放数据。

2010年将是文档型数据库的起始年。尽管这样的势头已经持续多年,现在才是一个更多,更广泛的文档型数据库出现的年代。从基于云计算的Amazon到Google,大量开源工具,以及随之诞生的CouchDB和MongoDB。

那么什么是MongoDB?下面有五件事是PHP开发者应该了解的。

1.MongoDB是一个单独的服务器

2.MongoDB是基于文档,而不是基于表

3.MongoDB中较少的Schema

4.你不需要学习另外的语言

5.MongoDB有良好的PHP支持 Continue reading »什么是MongoDB

php模板实现

         php开发中常用的模板有smarty, zend framework自身也有一套模板。实际上除非不得不使用它们,否则你应该很快就意识到,使用起来并不怎么方便。smarty需要引入库文件,学习smarty模板语法,虽然和php相似,却又不尽相同,增加了学习成本,使用起来还要config一下。要想使用ZendFramework 中的模板,肯定得使用ZF库不可,已使用ZF库,开发模式便很容易被限制在ZF下,所以也不是很灵活。

       先说一说为什么要使用模板技术,实际开发中所谓模板,不过是一段特殊的静态代码与动态变量的结合。所以调用模板函数时最常用的两个方法是:
(1) $tplObject->assign($key,$value)  — 模板变量赋值。(2)$tplObject->fetch($template_file) — 将模板对象与某一个模板文件结合输出结果。 Continue reading »php模板实现