站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        詳解laravel如何安裝jenssegers/laravel-mongodb擴(kuò)展

        項(xiàng)目中使用了mongoDB,所以就到最大的同性交友網(wǎng)站找到了星星最多的jenssegers/laravel-mongodb

        包安裝

        1、根據(jù)README,找到本地laravel對應(yīng)的包版本
        詳解laravel如何安裝jenssegers/laravel-mongodb擴(kuò)展

        2、開發(fā)環(huán)境中使用 composer requir 引入

        3、配置config/app.php

                /*          * mongoDB          */         JenssegersMongodbMongodbServiceProvider::class,

        4、database.php 配置

        "mongodb" => [       "driver" => "mongodb",       "host" => "127.0.0.1",       "port" => 27017,       "database" => "data",       "username" => "test",       "password" => "test",    ],

        :如果項(xiàng)目不涉及到mysql,那么可以直接將上面的默認(rèn)數(shù)據(jù)引擎改成mongodb,關(guān)于env方法的說明就不具體闡述了

        'default' => env('DB_CONNECTION', 'mysql'),

        5、代碼中使用

        // 獲取數(shù)據(jù)         $mongo = DB::connection("mongodb")             ->collection($collection) //            ->where("****","***")             ->first();

        問題

        1、unsupported driver [mongodb]

        tip1檢查phpinfo是否包含mongoDB拓展,如果沒有mongoDB的拓展,請自行安裝再試
        tip2重點(diǎn)!一定要檢查laravel的日志文件
        在我檢查了mongoDb拓展之后還是不支持,查看日志:

        Type error: Argument 3 passed to MongoDBDriverServer::executeQuery() must be an instance of MongoDBDriverReadPreference or null, array given {"exception":"[object] (Symfony\Component\Debug\Exception\FatalThrowableError(code: 0): Type error: Argument 3 passed to MongoDB\Driver\Server::executeQuery() must be an instance of MongoDB\Driver\ReadPreference or null, array given at F:\project\interface_center_jtl\vendor\mongodb\mongodb\src\Operation\Find.php:299)

        追到具體的位置,通過修改此處的返回,再次打印,發(fā)現(xiàn)已經(jīng)可以正常使用get/first方法。insert方法同理,不過是修改同目錄下的InsertMany

        詳解laravel如何安裝jenssegers/laravel-mongodb擴(kuò)展

        !!從源頭解決這個(gè)問題的正確方法,查看phpinfo里面,將mongo的拓展,升級(jí)到最新的stable版本!具體請查看我以前的文章centos源碼安裝php7以上的mongodb拓展,如果是windows,直接下載dll文件就行了

        2、Authentication failed.

        tip1檢查密碼賬號(hào),再用工具連接,看看是不是自己配置錯(cuò)誤

        tip2使用原生方法進(jìn)行測試,如果原生能夠連接,包方法卻不能連接,那就考慮包的問題

         // %40是@符號(hào)的轉(zhuǎn)義  $manager = new MongoDBDriverManager("mongodb://mongo:user:passwd%40abcdef@127.0.0.1:27017");  $query=new MongoDBDriverQuery([]);  $cursor = $manager->executeQuery('test.test', $query);  dd($cursor);

        ·如上,發(fā)現(xiàn)依舊不能連接,考慮mongo的問題了,再次測試,同事發(fā)現(xiàn)連接寫法經(jīng)過修改之后就能成功!如下:

         $manager = new MongoDBDriverManager("mongodb://mongo:user:passwd%40abcdef@127.0.0.1:27017/data");

        ·百思不得騎姐之下,對比了mongoDB的版本,發(fā)現(xiàn)測試環(huán)境居然是個(gè)老版本。。/手動(dòng)噴血

        ·在和運(yùn)維與測試溝通了之后,為了保持線上版本的穩(wěn)定性和敏捷開發(fā)的機(jī)動(dòng)性,遂決定做代碼兼容。
        再次打開包內(nèi)源碼,發(fā)現(xiàn)了如下的細(xì)節(jié)(敲黑板:注意看路徑,此時(shí)是jenssegers包內(nèi))
        詳解laravel如何安裝jenssegers/laravel-mongodb擴(kuò)展知道原理之后,于是在配置文件中做了如下修改:

        詳解laravel如何安裝jenssegers/laravel-mongodb擴(kuò)展

        至此,add、commint、push,收工!

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 精品一区二区三区自拍图片区| 四虎成人欧美精品在永久在线| 国产韩国精品一区二区三区久久| 精品中文高清欧美| 国内精品久久久久久野外| 亚洲级αV无码毛片久久精品| 国产精品夜色视频一级区| 99久久精品午夜一区二区| 亚洲AV无码久久精品狠狠爱浪潮| 精品久久人人妻人人做精品| 日韩精品一区二区三区大桥未久| 99久久er这里只有精品18| 亚洲精品乱码久久久久久按摩| 国内精品久久久久久麻豆| 日韩精品成人一区二区三区| 国产国拍亚洲精品mv在线观看 | 中文字幕精品亚洲无线码二区| 国内精品久久久久国产盗摄 | 日韩精品极品视频在线观看免费| 久久夜色精品国产| 精品一久久香蕉国产线看播放| 91热成人精品国产免费| 久久精品国产精品国产精品污| 69SEX久久精品国产麻豆| 国产精品亚洲一区二区三区在线| 久久九九精品99国产精品| 无码人妻精品一区二区三区66| 亚洲精品国产美女久久久| 亚洲精品无码久久毛片| 欧美精品综合视频一区二区| 久草欧美精品在线观看| 国产中文在线亚洲精品官网| 国产精品一级AV在线播放| 国模和精品嫩模私拍视频| 久久久精品日本一区二区三区 | 精品久久久久久无码免费| 国产一级精品高清一级毛片| 国精品产露脸自拍| 巨大黑人极品VIDEOS精品| 无码国产亚洲日韩国精品视频一区二区三区| 久久午夜无码鲁丝片午夜精品|