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

本文介绍了如何在Laravel框架中集成MongoDB数据库的过程。包括MongoDB的安装配置、Laravel MongoDB扩展的选择与安装步骤,并提供了针对不同Laravel版本的具体指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为公司的需求, 在原先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版本:

LaravelPackage
4.2.x2.0.x
5.0.x2.1.x
5.1.x2.2.x or 3.0.x
5.2.x2.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是否正确执行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值