MongoDB Connect问题jenssegers / laravel-mongodb

时间:2018-03-14 18:04:09

标签: mongodb lumen jenssegers-mongodb

我正在使用jenssegers / laravel-mongodb MongoDB Jenssegers

我遇到了一个问题,我似乎无法使用框架进行连接,但使用简单的测试脚本,我可以正常连接。

我写的简单连接脚本:

<?php
    $manager = new MongoDB\Driver\Manager("mongodb://user:password@cluster0-shard-00-00-reodz.mongodb.net:27017,cluster0-shard-00-01-reodz.mongodb.net:27017,cluster0-shard-00-02-reodz.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin");//ssl=true
    $command = new \MongoDB\Driver\Command(["ping" => 1]);
    $cursor  = $manager->executeCommand("admin", $command);
    $reply   = $cursor->toArray()[0];
    var_dump($reply);

当我跑步时,我得到了

  

[ “OK”] =&GT; INT(1)

这是我所期待的并且一切都很好。我使用相同的连接字符串设置我的config / database.php文件,这是我的config / database.php文件:

        return [
            'default' => env('DB_CONNECTION','mongodb'),
            'connections' => [
                    'mongodb' => [
                            'driver' => 'mongodb',
                            'dsn' => env('DB_DSN','mongodb://user:password@cluster0-shard-00-00-reodz.mongodb.net:27017,cluster0-shard-00-01-reodz.mongodb.net:27017,cluster0-shard-00-02-reodz.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin'),
                            'database' => env('DB_DATABASE'),
                    ]
            ]
    ];

.env文件:

APP_ENV=local
APP_DEBUG=true
APP_KEY=
APP_TIMEZONE=UTC

#DB_CONNECTION=mongodb
#DB_HOST="cluster0-shard-00-00-reodz.mongodb.net"
#DB_PORT=27017
DB_DATABASE="test"
#DB_USERNAME="user"
#DB_PASSWORD="password"

CACHE_DRIVER=file
QUEUE_DRIVER=sync

当我访问与MongoDB关联的路由时,我得到:

  

(1/1)ConnectionTimeoutException   找不到合适的服务器(serverSelectionTryOnce设置):[无法解析'user:password@cluster0-shard-00-00-reodz.mongodb.net:27017,cluster0-shard-00-01-reodz.mongodb。网:27017,cluster0-shard-00-02-reodz.mongodb.net:27017 /测试SSL =真安培; replicaset = cluster0-碎片-0安培; authsource =管理员]

我认为问题已本地化到我的database.php文件或我的.env文件,是否有人看到错误?如果test.php可以连接并返回ping,那么Lumen不应该好转吗?

由于 d

0 个答案:

没有答案