详解laravel如何安装jenssegers/laravel
时间:2021-07-28
来源:互联网
标签:
今天PHP爱好者为您带来1、根据README,找到本地laravel对应的包版本;2、开发环境中使用 composer requir 引入 ;3、配置config/app.php。希望对大家有所帮助。
项目中使用了mongoDB,所以就到最大的同性交友网站找到了星星最多的jenssegers/laravel-mongodb
包安装
1、根据README,找到本地laravel对应的包版本

2、开发环境中使用 composer requir 引入
3、配置config/app.php
/*
* mongoDB
*/
Jenssegers\Mongodb\MongodbServiceProvider::class,
4、database.php 配置
"mongodb" => [
"driver" => "mongodb",
"host" => "127.0.0.1",
"port" => 27017,
"database" => "data",
"username" => "test",
"password" => "test",
],
注:如果项目不涉及到mysql,那么可以直接将上面的默认数据引擎改成mongodb,关于env方法的说明就不具体阐述了
'default' => env('DB_CONNECTION', 'mysql'),
5、代码中使用
// 获取数据
$mongo = \DB::connection("mongodb")
->collection($collection)
// ->where("****","***")
->first();
问题
1、unsupported driver [mongodb]
tip1检查phpinfo是否包含mongoDB拓展,如果没有mongoDB的拓展,请自行安装再试tip2重点!一定要检查laravel的日志文件
在我检查了mongoDb拓展之后还是不支持,查看日志:
Type error: Argument 3 passed to MongoDB\Driver\Server::executeQuery() must be an instance of MongoDB\Driver\ReadPreference 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)
追到具体的位置,通过修改此处的返回,再次打印,发现已经可以正常使用get/first方法。insert方法同理,不过是修改同目录下的InsertMany

!!从源头解决这个问题的正确方法,查看phpinfo里面,将mongo的拓展,升级到最新的stable版本!具体请查看我以前的文章centos源码安装php7以上的mongodb拓展,如果是windows,直接下载dll文件就行了
2、Authentication failed.
tip1检查密码账号,再用工具连接,看看是不是自己配置错误
tip2使用原生方法进行测试,如果原生能够连接,包方法却不能连接,那就考虑包的问题
// %40是@符号的转义
$manager = new \MongoDB\Driver\Manager("mongodb://mongo:user:passwd%[email protected]:27017");
$query=new \MongoDB\Driver\Query([]);
$cursor = $manager->executeQuery('test.test', $query);
dd($cursor);
·如上,发现依旧不能连接,考虑mongo的问题了,再次测试,同事发现连接写法经过修改之后就能成功!如下:
$manager = new \MongoDB\Driver\Manager("mongodb://mongo:user:passwd%[email protected]:27017/data");
·百思不得骑姐之下,对比了mongoDB的版本,发现测试环境居然是个老版本。。/手动喷血
·在和运维与测试沟通了之后,为了保持线上版本的稳定性和敏捷开发的机动性,遂决定做代码兼容。
再次打开包内源码,发现了如下的细节(敲黑板:注意看路径,此时是jenssegers包内)

知道原理之后,于是在配置文件中做了如下修改:

至此,add、commint、push,收工!
以上就是详解laravel如何安装jenssegers/laravel-mongodb扩展的详细内容,更多请关注php爱好者其它相关文章!
-
电脑出现normal.dotm错误怎么办?解决方法是什么? 时间:2025-12-15 -
normal.dotm在哪个文件夹里 如何删除normal模板 时间:2025-12-15 -
d3dll.dll不能启动怎么办?怎么修复? 时间:2025-12-15 -
psrpc.dll缺失的原因及解决方法 时间:2025-12-15 -
JavaScript插件Lightbox.js用法详解 时间:2025-12-15 -
isalpha()函数在Python中的用法详解 时间:2025-12-15
今日更新
-
学习通网页版访问线路全新升级-学习通网页版秒速直达课程界面
阅读:18
-
即梦AI官方认证网页入口无广告秒速使用-即梦AI官方网页在线极速体验
阅读:18
-
向欧易客服反馈问题必备信息清单 高效解决指南
阅读:18
-
虫虫漫画入口全端兼容-虫虫漫画入口一键跨端追更
阅读:18
-
劈叉是什么梗?揭秘网络热词劈叉的爆笑来源和用法,看完秒懂!
阅读:18
-
163邮箱登录入口-网易163邮箱网页版快速登录
阅读:18
-
欧易邮件客服联系方式查询及官方客服邮箱地址
阅读:18
-
233乐园极速下载入口-233乐园官方正版免费安全下载
阅读:18
-
mcjs网页版在线畅玩-mcjs秒玩直达入口
阅读:18
-
百度云盘网页版直达入口-百度网盘网页版极速登录入口
阅读:18










