2015-02-23 94 views
3
$mongo = new MongoClient(); 
var_dump($mongo->connected); 

打印警告:The 'connected' property is deprecatedMongoClient-> connected是已棄用的屬性

文檔說,因爲1.5.0版本

此屬性已被棄用。

什麼是檢查連接到Mongo的正確方法?

已經有一個Jira report關於改變公共道具使用獲得者getConnected() - 但這種方法也不存在。另外Jira report現在也提到我的會徽,但它只是聲明更新PHP文檔。

回答

6

正確的做法是使用getConnections()

這將返回一個連接數組。因此,要檢查是否連接,這樣做:

$mongoConnections = $mongo->getConnections() 

if (false === empty($mongoConnections)) { // We are connected. 
    ... 
} else {         // Not connected 
    ... 
} 

我相信connected被推薦使用,因爲它會返回真實的,即使一些服務器已經失去了聯繫,並getConnections()讓你原子檢查。

+1

這似乎是正確的方法,但它從文檔中不是很明顯。 – GolezTrol 2015-02-23 15:05:31

+2

@GolezTrol'MongoClient'的文檔很糟糕。我必須閱讀源代碼才能瞭解一半的失敗回報。 – 2015-02-23 15:08:03

+0

謝謝。我沒有看到,但現在很明顯。 – DanFromGermany 2015-02-23 15:11:49

相關問題