2017-04-10 14 views
0

Ich bin neu bei mLab und versuche, die gleichen einfachen Dokumente zu meinem mongodb auf mLab einzufügen.PHP Dokument einfügen mLab

Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: 
No suitable servers found (`serverSelectionTryOnce` set): [connection timeout calling ismaster on 'ds157390.mlab.com:57390'] in C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php:726 
Stack trace: #0 C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php(726): MongoDB\Driver\Manager->selectServer(Object(MongoDB\Driver\ReadPreference)) 
#1 C:\xampp\htdocs\MongoDB\azureConnect.php(46): MongoDB\Collection->insertMany(Array) #2 {main} thrown in C:\xampp\htdocs\MongoDB\vendor\mongodb\mongodb\src\Collection.php on line 726 

PHP-Code::

<?php 

ini_set('max_execution_time', 0); 

require 'vendor/autoload.php'; 

$seedData = array(
    array(
    'decade' => '1970s', 
    'artist' => 'Debby Boone', 
    'song' => 'You Light Up My Life', 
    'weeksAtOne' => 10 
), 
array(
    'decade' => '1980s', 
    'artist' => 'Olivia Newton-John', 
    'song' => 'Physical', 
    'weeksAtOne' => 10 
), 
array(
    'decade' => '1990s', 
    'artist' => 'Mariah Carey', 
    'song' => 'One Sweet Day', 
    'weeksAtOne' => 16 
), 
); 

$uname = "test"; 
$pword = "test"; 
$uri = "mongodb://".$uname.":".$pword."@ds157390.mlab.com:57390/data4estate"; 

$conn = new MongoDB\Client($uri); 

$songs = $conn->data4estate->songs; 

$songs->insertMany($seedData); 

Antwort

0

ich diesen Fehler mit der Shell (Befehlszeile) jederzeit ich den Code ausführen Zunächst einmal war ich in der Lage, einige Dokumente in der Datenbank einfügen versuchen Sie, folgen Sie den Anweisungen für den Anschluss timout:

https://blog.mlab.com/2013/10/do-you-want-a-timeout/

Try Timeout Option auf con bindung String https://docs.mongodb.com/manual/reference/connection-string/#uri.connectTimeoutMS

$uri = "mongodb://".$uname.":".$pword."@ds157390.mlab.com:57390/data4estate?connectTimeoutMS=300000"; 

Sie können die socketTimeoutMS auf php MongoClient gesetzt, wie hier beantwortet: PHP MongoDb driver: How to set timeout for executing a code

+0

habe ich versucht bereits, dass aber es immer noch nicht funktioniert –