2016-12-09 48 views
1

我堅持這個奇怪的問題。MongoDB的PHP未捕獲的MongoDB 驅動程序異常 ConnectionTimeoutException:沒有合適的服務器發現

<?php 
require_once __DIR__ . "/vendor/autoload.php"; 

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 

// connect to mongodb 
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017"); 

$command = new MongoDB\Driver\Command(array("ping" => 1)); 
$result = $manager->executeCommand("test", $command); 

var_dump($result, $result->toArray()); 
?> 

錯誤:

Fatal error: Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException: No suitable servers found (`serverSelectionTryOnce` set): [connection refused calling ismaster on 'localhost:27017'] in /var/www/html/mongo.php:11 Stack trace: #0 /var/www/html/mongo.php(11): MongoDB\Driver\Manager->executeCommand('test', Object(MongoDB\Driver\Command)) #1 {main} thrown in /var/www/html/mongo.php on line 11 

爲什麼很奇怪?嗯,我已經嘗試過圍繞這個問題的互聯網搜索,人們總是說同樣的話:

  1. MongoDB服務器處於脫機狀態
  2. MongoDB服務器數據被損壞

嗯...

這是不離線,我的Java應用程序(和「蒙戈」)可以連接到MongoDB服務器就好了,沒有拋ConnectionTimeoutException可以與數據庫進行交互。

try { 
    mongoClient = new MongoClient("localhost"); 
} catch (UnknownHostException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
} 

它沒有被破壞,因爲如果它被損壞,我不能把它通過Java連接(右?)

我已經嘗試連接到127.0.0.1和本地主機,同問題。

我已經嘗試過重新啓動httpd和mongod的,同樣的問題。

我已經嘗試過MongoDB服務器綁定至0.0.0.0,而不是127.0.0.1,同樣的問題。

是,MongoDB的驅動程序安裝,他們是活躍在PHP信息。

MongoDB的PHP版本:1.2.1

MongoDB的外殼版本:3.2.10(更新至3.4.0)

PHP版本:7.0.13

回答

相關問題