关闭

学习笔记—在laravel4.2中配置mongodb

635人阅读 评论(0) 收藏 举报

因为公司的需求, 在原先Laravel的框架上需要储存大量的用户操作记录。所以选择了mongodb来进行存储。 相比于SGBDR,laravel自带强大的Eloquent之并不直接支持Nosql。但是网上有很多已经成熟的插件很好的将Nosql集成到Laravel之中。

在Elasticsearch 和 mongodb进行比较之后。我们选择了Mongodb。

Extension是:jenssegers/laravel-mongodb (MongoLid也是一个功能相近的插件用于集成)。
Laravel版本:4.2

系统:ubuntu 14.04


1.mongodb 的安装。

切记不能直接在没有安装过mongodb的机器上直接安装 apt-get install mongodb。

如果安装了 利用 apt-get purge mongodb 来卸载

1.http://phphub.org/topics/309

其中包涵了mongodb 的安装方法 和 mongodb drive的安装方法。


2.Laravel MongoDB的安装方法:

首先确定自己使用的 laravel版本:

Laravel Package
4.2.x 2.0.x
5.0.x 2.1.x
5.1.x 2.2.x or 3.0.x
5.2.x 2.3.x or 3.0.x

因为这里使用的为laravel4.2 所以安装时不能直接使用默认的

composer require jenssegers/mongodb

修改 project_dir/composer.json文件

"require":{

"Laravel/framework":"4.2.*",


...

"jenssegers/mongodb":"~2.0"

},


之后在config/app.php中加入

“Jenssegers\Mongodb\MongodbServiceProvider”


在Model中创建新的User

use Jenssegers\Mongodb\Model as Eloquent;

class User extends Eloquent {}

注意:此处是4.2版本 所以路径为

 Jenssegers\Mongodb\Model

如果使用的为5.*版本 则可以直接使用composer命令

composer require jenssegers/mongodb


但目录则是:

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;

class User extends Eloquent {}

之后在app/config/database中新建数据库

‘mongodb’=>array(

'driver' => 'mongodb',

'host'=> 'localhost'

'database' =>27017

'username'=>

'password'=>

'database'=>

)


之后在工程路径重新加载 composer update 就完成了


遇到的问题 : couldn't find mongoclient

1.保证第一步安装时能正确的现实 mangodb support :enable

其中要确定自己所使用的到底是哪个php.ini

有时候在cli和apache2中都需要修改:extension = mongo.so 此处是mongo.so 不是mongodb.so!!!!

查看apache的php.ini

在工程文件夹下新建 file.php

<?php echo phpinfo(); >


查看cli的php.ini

php -i | grep 'php.ini'

php -i | grep 'mongo'用于查看 mongodb driver是否正确执行。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:9734次
    • 积分:169
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:9篇
    • 译文:1篇
    • 评论:0条