据说Thinkphp5可以很方便的集成MongoDB,于是试了一下,结果全是坑啊,于是我就这样一步一步的踩过来了。
前言
公司的系统升级,需要将核心数据迁移到mongoDB上,同时,我们的开发框架也要升级,之前是ThinkPHP3.2的,现在要用TP5来做开发,于是如何使用TP5来操作MongoDB成为了摆在眼前的难题。也许对有的人而言,这是个比较简单的问题,但是对于公司的同事而言,这两个东西都是陌生的,之前都没有接触过,所以难免的会出现很多问题。但是为了后续的扩展,我们还是毅然决然的踩了下去。果然,踩出了一条坑坑洼洼的泥泞大道。
开始
1)安装ThinkPHP5
2)安装MongoDB
3)将MongoDB集成到ThinkPHP5里面
4)安装rockmongo,管理mongodb
我本地的环境是windows(32位) + php5.6.27(nts) + apache。
一、安装ThinkPHP5
ThinkPHP5的安装方式有很多,也很简单。我采用的是Git的方式直接从Github克隆的方式。这里不再赘述。
安装方式: http://www.kancloud.cn/manual/thinkphp5/118006
二、安装MongoDB
好吧,从这里开始,我踏上了一条漫漫踩坑之路。
由于我系统是32位的,无法下载最新的mongodb,只能下载3.2.12版的(当时最新的是3.4),不顾无所谓,能用就行。
下载地址:https://www.mongodb.com/download-center#previous
接着,安装mongoDB。安装教程可参考:http://www.runoob.com/mongodb/mongodb-window-install.html
安装mongo都没有什么问题,下一步下一步就可以了。但是, 我在把mongo安装为系统服务的时候遇到了问题。
mongod.exe --bind_ip yourIPadress --logpath "C:\data\dbConf\mongodb.log" --logappend --dbpath "C:\data\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
服务安装成功了,但是却无法启动,报错100.
于是去网上找了很多资料,都没能解决我的问题。直到我看到了这篇文章http://blog.csdn.net/jiadajing267/article/details/54134965
我按照文章中的方法,将mongodb安装路径下data文件中有两个文件一个mongod.lock删除,然后重新试了一下,就ok了。
另外,可能是我环境的原因,我在执行上面的代码的时候需要加入两个参数才可以:--journal