2017-06-13 32 views
0

它是我第一次使用compose.io作爲我的mongodb主機。使用Compose.io在Laravel中設置mongodb配置

我試圖來配置與Laravel compose.io MongoDB的,但最終這個錯誤:

ConnectionTimeoutException in Collection.php line 432: 
No suitable servers found (`serverSelectionTryOnce` set) 

我用https://github.com/jenssegers/laravel-mongodb包添加到mongodb的支持Laravel。

我的MongoDB的配置:

'mongodb' => [ 
     'driver' => 'mongodb', 
     'host' => ['aws-us-east-1-portal.25.dblayer.com:20020/admin', 'aws-us-east-1-portal.26.dblayer.com:20020/admin'], 
     'port'  => env('MONGO_DB_PORT', 27017), 
     'database' => env('MONGO_DB_DATABASE'), 
     'username' => env('MONGO_DB_USERNAME'), 
     'password' => env('MONGO_DB_PASSWORD'), 
     'options' => [ 
      'ssl' => true, 
      'database' => 'admin', // sets the authentication database required by mongo 3 
      'replicaSet' => 'set-5939226a8aab5300121d0ef2', 
      'readPreference' => 'primary', 
     ], 
     'driver_options' => [ 
      'context' => stream_context_create([ 
       'ssl' => [ 
        'local_cert' => base_path('mongo.pem'), 
        'cafile'  => base_path('mongo.pem'), 
        'allow_self_signed' => true, 
        'verify_peer'  => false, 
        'verify_peer_name' => false, 
        'verify_expiry'  => false, 
        'allow_invalid_certificates' => true 
       ] 

      ]) 
     ] 
    ] 

我不也知道什麼是MONGO_REPLICA_SET

任何人都經歷類似的東西的價值?

感謝

+0

問題是什麼?你提供的連接字符串是什麼?上面的代碼正在查看環境變量,那麼這些變量的內容是什麼? –

+0

基於錯誤,有什麼可能? – arjayads

+0

我剛剛告訴過你。向我們展示連接字符串。它們似乎存儲在環境變量中。或者很可能你錯過了記錄的步驟,並且從不設定值。 –

回答

0

它通過消除replicaSet選項

最終配置:

'mongodb' => [ 
     'driver' => 'mongodb', 
     'host' => ['aws-us-east-1-portal.25.dblayer.com', 'aws-us-east-1-portal.26.dblayer.com'], 
     'port'  => env('MONGO_DB_PORT', 27017), 
     'database' => env('MONGO_DB_DATABASE'), 
     'username' => env('MONGO_DB_USERNAME'), 
     'password' => env('MONGO_DB_PASSWORD'), 
     'options' => [ 
      'ssl' => true, 
      'database' => env('MONGO_DB_DATABASE'), // sets the authentication database required by mongo 3 
     ], 
     'driver_options' => [ 
      'context' => stream_context_create([ 
       'ssl' => [ 
        'cafile'  => base_path('mongo.pem'), 
        'allow_self_signed' => true, 
        'verify_peer'  => false, 
        'verify_peer_name' => false, 
        'verify_expiry'  => false, 
       ] 

      ]) 
     ] 
    ]