tp5 配置mongodb上线后无法运行——踩坑

若使用的mongodb数据库不是admin权限(即添加的用户)时, 会连接失败, 权限不足, 需更改tp5拓展文件

文件位置:

vendor/topthink/think-mongo/src/Connection.php  188行
在这段代码的最后加上 ."/".$this->dbName;

//更改前
         
$host = 'mongodb://' . ($config['username'] ? "{$config['username']}" : '') . ($config['password'] ? ":{$config['password']}@" : '') . $config['hostname'] . ($config['hostport'] ? ":{$config['hostport']}" : '');
//更改后
$host = 'mongodb://' . ($config['username'] ? "{$config['username']}" : '') . ($config['password'] ? ":{$config['password']}@" : '') . $config['hostname'] . ($config['hostport'] ? ":{$config['hostport']}" : '')."/".$this->dbName;

一般情况下我们不会直接修改核心框架,我们可以继承该文件类,覆盖其方法进行修改。

如覆盖放置在extend/mongo/Connection.php。修改database.php文件更改对应的文件类:

// 数据库类型
'type'     => '\mongo\Connection',
// 设置查询类
'query'    => '\think\mongo\Query',


by 雪洁 2020-08-15 10:54:33 754 views
我来说几句

相关文章