Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mongoclient.close(3) [php man page]

MONGOCLIENT.CLOSE(3)							 1						      MONGOCLIENT.CLOSE(3)

MongoClient::close - Closes this connection

SYNOPSIS
public bool MongoClient::close ([boolean|string $connection]) DESCRIPTION
The MongoClient.close(3) method forcefully closes a connection to the database, even if persistent connections are being used. You should never have to do this under normal circumstances. PARAMETERS
o $connection - If connection is not given, or FALSE then connection that would be selected for writes would be closed. In a single-node config- uration, that is then the whole connection, but if you are connected to a replica set, close() will only close the connection to the primary server. If connection is TRUE then all connections as known by the connection manager will be closed. This can include connections that are not referenced in the connection string used to create the object that you are calling close on. If connection is a string argument, then it will only close the connection identified by this hash. Hashes are identifiers for a con- nection and can be obtained by calling MongoClient.getConnections(3). RETURN VALUES
Returns if the connection was successfully closed. EXAMPLES
Example #1 MongoClient.close(3) example This example demonstrates how to selectively close all connections for secondaries only. <?php // Connect to a replicaset $a = new MongoClient("mongodb://whisky:13000/?replicaset=seta"); $connections = $a->getConnections(); foreach ( $connections as $con ) { // Loop over all the connections, and when the type is "SECONDARY" // we close the connection if ( $con['connection']['connection_type_desc'] == "SECONDARY" ) { echo "Closing '{$con['hash']}': "; $closed = $a->close( $con['hash'] ); echo $closed ? "ok" : "failed", " "; } } ?> The above example will output: Closing 'whisky:13001;X;4948': ok CHANGELOG
+--------+---------------------------------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------------------------------+ | 1.3.0 | | | | | | | The $connection parameter to this function was | | | added in 1.3.0. Before that, only the write con- | | | nection would be closed by this method. | | | | | 1.2.0 | | | | | | | Before version 1.2.0 the driver would not use | | | persistent connections by default, and all con- | | | nections would be closed as soon as a MongoDB | | | connection went out if scope. Since version 1.2.0 | | | this is no longer the case and it is a bad idea | | | to call close as you might end up overloading the | | | server with connections under high load. | | | | +--------+---------------------------------------------------+ SEE ALSO
MongoClient.getConnections(3). PHP Documentation Group MONGOCLIENT.CLOSE(3)

Check Out this Related Man Page

OCI_CLOSE(3)															      OCI_CLOSE(3)

oci_close - Closes an Oracle connection

SYNOPSIS
bool oci_close (resource $connection) DESCRIPTION
Unsets $connection. The underlying database connection is closed if no other resources are using it and if it was created with oci_con- nect(3) or oci_new_connect(3). It is recommended to close connections that are no longer needed because this makes database resources available for other users. PARAMETERS
o $connection - An Oracle connection identifier returned by oci_connect(3), oci_pconnect(3), or oci_new_connect(3). RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Closing a connection Resources associated with a connection should be closed to ensure the underlying database connection is properly terminated and the database resources are released. <?php $conn = oci_connect('hr', 'welcome', 'localhost/XE'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $stid = oci_parse($conn, 'SELECT * FROM departments'); $r = oci_execute($stid); oci_fetch_all($stid, $res); var_dump($res); // Free the statement identifier when closing the connection oci_free_statement($stid); oci_close($conn); ?> Example #2 Database connections are not closed until all references are closed The internal refcount of a connection identifier must be zero before the underlying connection to the database is closed. <?php $conn = oci_connect('hr', 'welcome', 'localhost/XE'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $stid = oci_parse($conn, 'SELECT * FROM departments'); // this increases the refcount on $conn oci_execute($stid); oci_fetch_all($stid, $res); var_dump($res); oci_close($conn); // $conn is no longer usable in the script but the underlying database // connection is still held open until $stid is freed. var_dump($conn); // prints NULL // While PHP sleeps, querying the Oracle V$SESSION view in a // terminal window will show that the database user is still connected. sleep(10); // When $stid is freed, the database connection is physically closed oci_free_statement($stid); // While PHP sleeps, querying the Oracle V$SESSION view in a // terminal window will show that the database user has disconnected. sleep(10); ?> Example #3 Closing a connection opened more than once When database credentials are reused, both connections must be closed before the underlying database connection is closed. <?php $conn1 = oci_connect('hr', 'welcome', 'localhost/XE'); // Using the same credentials reuses the same underlying database connection // Any uncommitted changes done on $conn1 will be visible in $conn2 $conn2 = oci_connect('hr', 'welcome', 'localhost/XE'); // While PHP sleeps, querying the Oracle V$SESSION view in a // terminal window will show that only one database user is connected. sleep(10); oci_close($conn1); // doesn't close the underlying database connection var_dump($conn1); // prints NULL because the variable $conn1 is no longer usable var_dump($conn2); // displays that $conn2 is still a valid connection resource ?> Example #4 Connections are closed when variables go out of scope When all variables referencing a connection go out of scope and are freed by PHP, a rollback occurs (if necessary) and the underly- ing connection to the database is closed. <?php function myfunc() { $conn = oci_connect('hr', 'hrpwd', 'localhost/XE'); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); } $stid = oci_parse($conn, 'UPDATE mytab SET id = 100'); oci_execute($stid, OCI_NO_AUTO_COMMIT); return "Finished"; } $r = myfunc(); // At this point a rollback occurred and the underlying database connection was released. print $r; // displays the function return value "Finished" ?> NOTES
Note Variables that have a dependency on the connection identifier, such as statement identifiers returned by oci_parse(3), must also be freed before the underlying database connection is closed. Note Prior to version PHP 5.1.2 (PECL OCI8 1.1) oci_close(3) was a no-op. In more recent versions it correctly closes the Oracle connec- tion. Use oci8.old_oci_close_semantics option to restore old behavior of this function. Note The oci_close(3) function does not close the underlying database connections created with oci_pconnect(3). SEE ALSO
oci_connect(3), oci_free_statement(3). PHP Documentation Group OCI_CLOSE(3)
Man Page