Я создаю приложение 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);
, но это явно не проблема с вашим кодом. вы получаете соединение, которое работает, и в вашем коде нет ничего, что говорит «на третьем вызове этого url fail ...». –
У меня был быстрый взгляд - кажется, проблема в клиенте mongo и то, как он перерабатывает дескрипторы сокетов. Будет ли возможно, чтобы вы зарегистрировали ошибку в нашем трекер-проблеме? https://code.google.com/p/googleappengine/wiki/FilingIssues?tm=3 –
Существует большая вероятность того, что GAE использует более раннее расширение драйвера «mongo.so», которое, как известно, имеет похожие проблемы с подключением с новыми серверами MongoDB. http://stackoverflow.com/questions/22947873/failed-to-connect-to-localhost27017-remote-server-has-closed-the-connection – Visar