美文网首页
Centos 7中 Laravel使用MongoDB

Centos 7中 Laravel使用MongoDB

作者: Martain | 来源:发表于2018-06-04 20:46 被阅读16次

    一、安装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);
        }
    }
    ?>
    

    相关文章

      网友评论

          本文标题:Centos 7中 Laravel使用MongoDB

          本文链接:https://www.haomeiwen.com/subject/nynysftx.html