MongoClient
PHP Manual

MongoClient::close

(PECL mongo >=1.3.0)

MongoClient::closeFerme la connexion

Description

public bool MongoClient::close ([ boolean|string $connection ] )

La méthode MongoClient::close() ferme une connexion de base de données, y compris si les connexions persistentes sont utilisées. Dans une logique classique, vous ne devriez jamais utiliser cette méthode.

Liste de paramètres

connection

Si ce paramètre n'est pas fourni ou vaut FALSE, alors la connexion sélectionnée pour les écritures sera fermée. Dans une configuration avec un seul noeud, la connexion dans sa totalité sera fermée, mais si vous êtes connecté à un jeu de réplication, close() ne fermera only la connexion au serveur primaire.

Si ce paramètre vaut TRUE, alors toutes les connexions connues du gestionnaire de connexion seront fermées. Cela peut inclure les connexions qui ne sont pas référencées via la chaîne de connexion, utilisée pour créer l'objet que vous souhaitez fermer.

Si ce paramètre est une chaîne, alors seule la connexion identifiée par cette chaîne sera fermée. Cette chaîne identifie une connexion et peut être obtenue en appelant la méthode Mongo::getConnections().

Valeurs de retour

Retourne TRUE si la connexion a pu être fermée.

Exemples

Exemple #1 Exemple avec MongoClient::close()

Cet exemple montre comment fermer toutes les connexions vers les secondaires.

<?php
// Connexion à un jeu de réplication
$a = new MongoClient("mongodb://whisky:13000/?replicaset=seta");

$connections $a->getConnections();

foreach ( 
$connections as $con )
{
    
// Parcourt des connexions, et lorsque le type est "SECONDARY",
    // nous fermons la connexion
    
if ( $con['connection']['connection_type_desc'] == "SECONDARY" )
    {
        echo 
"Fermeture de '{$con['hash']}': ";
        
$closed $a->close$con['hash'] );
        echo 
$closed "ok" "échec""\n";
    }
}
?>

L'exemple ci-dessus va afficher :

Fermeture de 'whisky:13001;X;4948': ok

Historique

Version Description
1.3.0

Le paramètre connection a été ajouté. Avant cette version, seule la connexion en écriture était fermée par cette méthode.

1.2.0

Avant la version 1.2.0, le driver n'utilisait pas les connexions persistentes par défaut, et toutes les connexions étaient fermées dès que une connexion MongoDB sortait du scope. Depuis la version 1.2.0, ce n'est plus le cas et c'est une mauvaise idée d'appeler la méthode close car vous pourriez finir par surcharger le serveur avec des connexions à haute charge.

Voir aussi


MongoClient
PHP Manual