Centos 7中 Laravel使用MongoDB

2018-06-04  本文已影响16人  Martain

一、安装MongoDB

0、官方教程

1、配置yum的仓库包

#1、打开/etc/yum.repos.d/
cd /etc/yum.repos.d/
#2、新建仓库(以3.6为例)
vim mongodb-org-3.6.repo
#3、填入信息
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
#4、可以设置gpgcheck=0,免去检查的时间

2、安装Mongodb

sudo yum install -y mongodb-org

3、启动Mongodb

systemctl start mongod.service

二、安装MongoDB的php扩展

0、PECL 扩展源

1、先安装openssl-devel

yum install openssl-devel

2、下载mongodb的扩展

1、使用weget:wget http://pecl.php.net/get/mongo-1.4.3.tgz
2、使用curl:curl -O https://pecl.php.net/get/mongodb-1.4.3.tgz

3、安装

#1、解压
tar vzxf mongodb-1.4.3.tgz
#2、进入文件夹 
cd mongodb-1.4.3/
#3、phpize
phpize
#4、配置路径
./configure --with-php-config=php-config 
#5、编译和安装 (注:要先安装gcc)
make && make install
(运行完后会给出文件(mongodb.so)的位置)
[root@VM_64_69_centos mongodb-1.4.3]# make install
Installing shared extensions:     /usr/lib64/php/modules/

4、配置到php中去

#1、编辑配置文件
vim /etc/php.ini
#2、加载扩展
extension=/usr/lib64/php/modules/mongodb.so
#3、重启php-fpm.service 
systemctl restart php-fpm.service 

三、配置Laravel对Mongodb的支持

1、安装第三方库

composer require jenssegers/mongodb

2、配置config/app.php

providers中加上:
Jenssegers\Mongodb\MongodbServiceProvider::class,
aliases中加上:#这里主要是后面使用模型可以用到
'Mongo'=> Jenssegers\Mongodb\MongodbServiceProvider::class,

3、配置config/database.php

 'default' => env('DB_CONNECTION', 'mongodb'),
    ...
 'mongodb' => [
            'driver'   => 'mongodb',
            'host'     => 'localhost',
            'port'     => 27017,
            'database' => 'test',
            'username' => '',
            'password' => '',
        ],

4、配置.env

DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=test
DB_USERNAME=
DB_PASSWORD=

5、测试

<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class TestController extends Controller
{
    public function test(){
    DB::collection('users')->insert([
        'name'=>"zs",
        'age'=>18
    ]);
    $res = DB::collection('users')->get();
    dd($res);
    }
}
?>
上一篇下一篇

猜你喜欢

热点阅读