2015-09-07 95 views
1

我正在用codeigniter構建PHP應用程序,並使用GAE與Mongodb。 GAE是計費啓用,但到蒙戈連接不穩定,降至1/4時,應用程序在線,本地正常工作與GAE PHP SDK:GAE PHP與mongodb失去連接

的php.ini

google_app_engine.enable_functions = "libxml_disable_entity_loader" 
google_app_engine.enable_curl_lite = 「1」 

extension="mongo.so" 

mongo_library.php

try { 
    //connect to the mongodb server 
    SELF::$mongo_client = new MongoClient($config_data['mongo_connection_string']); 

    //select the mongodb database 
    $this->db = SELF::$mongo_client->selectDB($config_data['mongo_database']); 

} catch (MongoConnectionException $exception) { 
    //if mongodb is not connect, then display the error 
    show_error('Unable to connect to Database', 500); 
} 

我使用mongolab.com谷歌雲提供商的mongo免費計劃。 下面是鏈接在哪裏顯示My app以及哪裏你可以看到它是如何通過刷新幾次失敗。

$a = mongo_db::$mongo_client; 

$connections = $a->getConnections(); 

print_r($connections); 
+0

但這顯然不是你的代碼的問題。你會得到一個可以正常工作的連接,並且在你的代碼中沒有任何東西說'在第三次調用這個URL時失敗....'。 –

+0

我有一個快速的樣子 - 似乎是mongo客戶端的一個問題,以及它如何回收套接字描述符。您有可能在我們的問題跟蹤器中提交錯誤嗎? https://code.google.com/p/googleappengine/wiki/FilingIssues?tm=3 –

+1

GAE很有可能使用的是較舊的「mongo.so」驅動程序擴展,該驅動程序已知具有類似的連接丟失問題與更新的MongoDB服務器。 http://stackoverflow.com/questions/22947873/failed-to-connect-to-localhost27017-remote-server-has-closed-the-connection – Visar

回答

0

這裏是我打開的問題:

https://code.google.com/p/googleappengine/issues/detail?id=12392 

這個問題/錯誤已經被修正。