2015-09-07 1 views
1

Я создаю приложение PHP с помощью codeigniter и использую 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); 
} 

Я использую бесплатный план mongo у поставщика mongolab.com google cloud. Вот ссылка, где показано My app, и где вы можете увидеть, как это не удается, освежая пару раз.

$a = mongo_db::$mongo_client; 

$connections = $a->getConnections(); 

print_r($connections); 
+0

, но это явно не проблема с вашим кодом. вы получаете соединение, которое работает, и в вашем коде нет ничего, что говорит «на третьем вызове этого url fail ...». –

+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 

и эта проблема/ошибка уже исправлена.