Latest Post

Tăng thứ hạng và truy cập tự nhiên với 10 phương pháp SEO hay nhất Kiếm Tiền Online (mmo): Khái Niệm và Các Hình Thức Phổ Biến

MongoDB được biết đến là một trong những hệ quản trị cơ sở dữ liệu NoSQL phổ biến trên toàn thế giới. Tuy nhiên, Laravel PHP Framework, mặc định, không hỗ trợ trực tiếp MongoDB. Vì vậy, trong hướng dẫn này từ VinaSupport.com, chúng ta sẽ tìm hiểu cách cài đặt và tích hợp MongoDB vào dự án Laravel của bạn.

Cài đặt MongoDB

Các bạn vui lòng tham khảo bài viết: Hướng dẫn cài đặt MongoDB

Cài đặt MongoDB PHP Extension

Để cài đặt mongodb Extension cho PHP, chúng ta sử dụng command sau:

sudo /opt/lampp/bin/pecl install mongodb

Sau đó thêm dòng sau vào file php.ini và restart lại httpd

extension=mongodb.so

Cài đặt package jenssegers/mongodb cho Laravel

Bài viết này sẽ tập trung vào việc giới thiệu thư viện mà bạn có thể sử dụng để tích hợp MongoDB với Laravel và cách cài đặt nó thông qua Composer.

composer require jenssegers/mongodb

Sửa file config/app.php thêm MongoServiceProvider

JenssegersMongodbMongodbServiceProvider::class,

Thêm kết nối vào file config/database.php

'mongodb' => [
    'driver' => 'mongodb',
    'host' => env('DB_HOST', '127.0.0.1'),
    'port' => env('DB_PORT', 27017),
    'database' => env('DB_DATABASE', 'homestead'),
    'username' => env('DB_USERNAME', 'homestead'),
    'password' => env('DB_PASSWORD', 'secret'),
    'options' => [
        // here you can pass more settings to the Mongo Driver Manager
        // see https://www.php.net/manual/en/mongodb-driver-manager.construct.php under "Uri Options" for a list of complete parameters that you can use


        'database' => env('DB_AUTHENTICATION_DATABASE', 'admin'), // required with Mongo 3+
    ],
],

Chú ý: Trên Ubuntu 16.04 fix lỗi

Sử dụng các command sau đây để fix lỗi này

strings /opt/lampp/lib/libstdc++.so.6 | grep CXXABI
locate libstdc++.so.6
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /opt/lampp/lib/libstdc++.so.6

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *