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);
}
}
?>