public static function connect($replica_set = false) { try { MongoConnection::$mongo_connection = new Mongo("mongodb://" . MongoConfiguration::username . ":" . MongoConfiguration::password . "@" . MongoConfiguration::hosts . ":" . MongoConfiguration::port . "/" . MongoConfiguration::database, array("timeout" => 10000, "replicaSet" => $replica_set)); } catch (Exception $mongoException) { //Output error details Error::halt(503, 'service unavailable', 'Temporarily unable to process request. Failed to establish a connection with MongoDB. Please retry.'); } if (empty(MongoConnection::$mongo_connection)) { Error::halt(503, 'service unavailable', 'Temporarily unable to process request. Failed to establish a connection with MongoDB. Please retry.'); } try { MongoConnection::$mongo_db = MongoConnection::$mongo_connection->selectDB(MongoConfiguration::database); } catch (Exception $mongoException) { //Output error details Error::halt(503, 'service unavailable', 'Temporarily unable to process request. Failed to select the database from MongoDB. Please retry.'); } if (empty(MongoConnection::$mongo_db)) { //Output error details Error::halt(503, 'service unavailable', 'Temporarily unable to process request. Failed to select the database from MongoDB. Please retry.'); } }