之前在文件中的一些討論看評論區:Wiki:Laravel Homestead:安裝 MongoDB 資料庫
2019.10.27更新,
404是因為檔案源的連結的問題,所以在使用homestead之前,請先更新源:
ubuntu 把軟體源修改為國內源和更新 [https://www.cnblogs.com/flyinggod/p/797910...]
更新完成以後,嘗試過更改配置,mongodb:true,但是依然存在問題,所以就嘗試自己進行安裝。
1.安裝mongodb擴充套件:
執行: sudo pecl install mongodb
警告:
WARNING: channel "pecl.php.net" has updated its protocols, use "pecl channel-update pecl.php.net" to update
解決:
執行 sudo pecl channel-update pecl.php.net
警告不影響擴充套件安裝。
安裝完成後會提示在php中加入Mongodb擴充套件,注意檢視自己環境的php版本(php -v)。這裡有個坑,就是在/etc/php/7.2/fpm/php.ini中加入,檢視擴充套件(php -m)還沒有,具體檢視這個:http://www.jicker.cn/5631.html
原來在cli中還有一個php.ini也要加入擴充套件。
加入完成,重啟php:sudo service php7.2-fpm restart
。
檢視。安裝成功!
2.安裝mongodb
因為更新了軟體源,所以可以直接執行:sudo apt-get install -y mongodb-org
參考:CentOS7.4 安裝mongodb https://www.jianshu.com/p/994bc7b19b26
參考:Ubuntu16.04使用阿里雲映象安裝Mongodb https://blog.csdn.net/weixin_30414155/arti...
(注意:我安裝的是4.0.0版本,如果使用映象連結安裝,請注意修改連結中的版本)!
等待大概20分鐘,安裝完成!
3.mongodb的使用
啟動:sudo service mongod start
檢視:ps -ef|grep mongo
mongodb開機啟動:systemctl enable mongod.service
安裝暫時到此,後續有新的再更新!
繼續更新
剛剛試了一下mongodb安裝成功並且連線成功,所以整理一下怎麼使用:
4.laravel mongodb安裝與配置
進入專案目錄執行:composer require jenssegers/mongodb
安裝完成,在config/app.php中:
'providers' 中加入:Jenssegers\Mongodb\MongodbServiceProvider::class,
'aliases' 中加入:'Moloquent' => Jenssegers\Mongodb\Eloquent\Model::class,
config/database.php中:
'mongodb' => [ //MongoDB
'driver' => 'mongodb',
'host' => '127.0.0.1', //資料庫伺服器的ip
'port' => 27017, //資料庫伺服器上mongodb服務對應的埠
'database' => '你的資料庫名稱', //資料庫名稱
'username' => '',
'password' => '',
'options' => [
'database' => '你的資料庫名稱' // 要使用的資料庫
]
],
5.mongodb模型定義:
<?php
namespace App\Models;
use Moloquent;
class Test extends Moloquent
{
// protected $table = 'access_log';
protected $connection = 'mongodb';//庫名
protected $collection = 'user_logs'; //文件名
// protected $primaryKey = 'id'; //設定主鍵
protected $fillable = ['name', 'phone']; //設定欄位白名單
}
6.控制器中使用:
public function test(){
Test::create(['name'=>'李大','phone'=>'123456']);
$res = Test::all();
dump($res);
}
輸出結果:
#attributes: array:5 [▼
"_id" => ObjectId {#327 ▶}
"name" => "李大"
"phone" => "123456"
"updated_at" => UTCDateTime {#333 ▶}
"created_at" => UTCDateTime {#331 ▶}
]
總結:官方文件提供的方法比較簡單,但是自動安裝過程會因為很多原因導致無法進行,所以寫出來,分享一下這個“踩坑記錄!
2019.11.26更新,之前的按照在筆記本上(win10 64)的步驟,今天在桌上型電腦上(win7 64)試了一下,踩了好多坑!
1.更換源,apt-get update報錯導致擴充套件和MongoDB-org無法安裝:
在此請注意自己虛擬機器的版本,ubuntu不同,源的連結有所不同:
[https://developer.aliyun.com/mirror/ubuntu...]
附:檢視ubuntu不同版本:
https://jingyan.baidu.com/article/ca41422f...
2.根據官方文件操作安裝
https://docs.mongodb.com/manual/tutorial/i...
本作品採用《CC 協議》,轉載必須註明作者和本文連結