我堅持這個奇怪的問題。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
爲什麼很奇怪?嗯,我已經嘗試過圍繞這個問題的互聯網搜索,人們總是說同樣的話:
- MongoDB服務器處於脫機狀態
- 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