Laravel 使用 MongoDB - 環境建置

2022/06/15閱讀時間約 4 分鐘
欲在Laravel中使用MongoDB,首先要確認有安裝MongoDB PHP driver,接著再安裝Laravel MongoDB套件,才能開始使用CRUD。

1. 安裝MongoDB PHP driver

(1) 到這邊下載MongoDB PHP driver
我這邊是選用1.13.0版本的,點進DLL,根據PHP版本下載TS x64的,(我的PHP版本是8.0):
  • Note: 可在phpinfo()確認環境: 因此要下載8.0 TS x64的driver
(2) 安裝php_mongodb.dll
下載解壓縮後,裡面有個php_mongodb.dll:
將這個dll複製到對應PHP版本的ext資料夾下:
php.ini加上extension=mongodb:
直接從wamp icon按也可以: Wamp->PHP->php.ini,事實上就是開啟apache/bin裡面的php.ini檔
(3) 檢查是否正常
  • Note: 我這邊有把C:\wamp64\bin\php\php8.0.13設定進系統環境變數。
$ php -v
phpinfo() 裡面有找到mongodb表示安裝完成:

後記:
發現這個警告: Warning: PHP Startup: Unable to load dynamic library 'mongodb' (tried: c:/wamp64/bin/php/php8.0.13/ext/mongodb (找不到指定的模組。)
解法: 後來發現是因為driver下載成NTS x64版本的了,要下載TS x64的才行。

2. 安裝 Laravel MongoDB 套件

  • 根據Laravel版本選擇安裝對應的package版本:
  • 由於我的Laravel version是8,所以這邊選擇裝3.8.x的版本:
composer require jenssegers/mongodb:3.8
  • config/database.php: 在connections中加入mongodb設定
'mongodb' => [
  'driver' => 'mongodb',
  'host' => env('MONGODB_HOST', '127.0.0.1'),
  'port' => env('MONGODB_PORT', 27017),
  'database' => env('MONGODB_DATABASE', 'local'),
  'username' => env('MONGODB_USERNAME', ''),
  'password' => env('MONGODB_PASSWORD', '')
],
  • .env加入:
MONGODB_HOST=127.0.0.1
MONGODB_POST=27017
MONGODB_DATABASE=local
MONGODB_USERNAME=
MONGODB_PASSWORD=
Note: MongoDB剛安裝好,預設是不需帳密就可以連線使用的,因此env config這邊username, password留空,所以若沒有額外設定,是有資安風險的,需特別注意。

為什麼會看到廣告
20會員
161內容數
留言0
查看全部
發表第一個留言支持創作者!