Cách cài extention mongo driver
Mặc định PHP không hỗ trợ MongoDB, nên muốn sử dụng được MongoDB trong dự án PHP thì chúng ta cần phải cài đặt và thiết lập nó vào trong PHP.
1. windows
truy cập vào link sau: https://pecl.php.net/package/mongodb/1.3.0/windows
chọn một trong các tùy trọn gói sau:
Lưu ý: Windows bạn cài xampp thì thường dùng 32 bit, tức là bạn cần phải tải các phiên bản X86. nghĩa là khi mình dùng php 7.1 thì download bản này vè : 7.1 Thread Safe (TS) x86. Lưu ý là tùy vào phiên bản php bạn đang dùng mà bạn nên chọn download cho đúng version. (thay đổi link https://pecl.php.net/package/mongodb/1.6.0/windows ) các version hộ trợ thì như sau:
Download về được cái file thần thánh php_mongodb.dll thì quăng vào folder ext của xampp
Tiếp đó kích hoạt extention trong php.init: (vào php.init thêm 1 dòng vào cuối)
extension=php_mongodb.dll
Nếu bạn dùng mac thì cũng có thể cài mongodb driver bằng pecl cho tiện:
sudo pecl install mongodb
nếu lỗi thì có thể xem thử xem giống lỗi mình không :
https://ebudezain.com/loi-cai-dat-tien-ich-mo-rong-php-va-pecl-tren-macos#pecl-error-mkdir
Cài công cụ cho laravel connect mongo
Cài đặt package jenssegers/mongodb cho Laravel. Đây 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
Nếu bạn gặp lỗi thì sau khi search trên github mình thấy cách này có vẻ ổn :
composer require jenssegers/mongodb:dev-develop
Nếu cài xong chạy mà bạn biết bạn cài thành công nhưng vào laravel chạy mà dính lỗi như hình thì bạn đang chạy không đúng phiên bản yêu cầu tối thiểu:
Ý nói của hình là phiên bản bạn nên dùng là lớn hơn hoặc bằng 1.12.0 => link download lại sẽ là : https://pecl.php.net/package/mongodb/1.12.0/windows
Cứ download và làm lại thôi :D
chú ý thêm nếu gặp lỗi mặc dù đã cài đặt thành công nhưng windows có lỗi khá khó chịu khi chưa cài mongodb
link tham khỏa : https://stackoverflow.com/questions/54566245/composer-cant-find-mongodb-extension-required-mongodb-extension
composer require jenssegers/mongodb --ignore-platform-reqs
không được nữa thì xem lại phiên bản laravel của bạn có hộ trợ không?
đây là bản hộ trợ dành cho các phiên bản laravel :
Hiện tại thì gói này đang hộ trợ phiên bản laravel 6 và 8. Bạn mà code laravel 7 thì say goodbye luôn nha 😄