MongoDB là hệ quản trị CSDL NoSQL phổ biến nhất trên thế giới. Tuy nhiên mặc định Laravel PHP Framework lại không hỗ trợ MongoDB. Vì vậy trong tutorial này, VinaSupport.com sẽ hướng dẫn các bạn cài đặt và tích hợp MongoDB vào project Laravel.
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
Đâu là thư viện giúp cho Laravel có thể thao tác với MongoDB. Cài đặt thông qua Composer
composer require jenssegers/mongodb
Sửa file config/app.php thêm MongoServiceProvider
Jenssegers\Mongodb\MongodbServiceProvider::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
Nguồn: vinasupport.com