The PHP engine automatically closes the database connection at the end of the script
unless a persistent connection was made. If you want to explicitly close a database
connection, you can call the oci_close() OCI function with the connection
identifier returned by the oci_connect() call. For example:
<?php
$conn = oci_connect('hr', 'hr', '//localhost/XE');
...
oci_close($conn);
...
?>
oci_close
(PHP 5, PECL oci8 >= 1.1.0)
oci_close — Closes Oracle connection
Opis
bool oci_close
( resource $connection
)
Closes the Oracle connection .
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu.
Notatki
Informacja: Starting from the version 1.1 oci_close() correctly closes the Oracle connection. Use oci8.old_oci_close_semantics option to restore old behaviour of this function.
oci_close
ajitsingh4u at gmail dot com
29-Mar-2009 07:31
29-Mar-2009 07:31
john at petbrain dot com
12-Sep-2002 01:47
12-Sep-2002 01:47
OCILogon ... one thing about is, is that its good practice to use OCILogoff, becase you don't really know what the idle release time is from the Oracle server. In my case, the DBM set the idle time insanely high because we have other projects coming out of Oracle and not just php. Just because php exits, doesn't mean the Oracle connection is dead.
yepster at hotmail dot com
17-Feb-2002 03:21
17-Feb-2002 03:21
For using persistent connections && being able to sleep, I use:
function close_db_locks_on_abort( ) {
global $conn;
if( connection_aborted() ) {
$fp = fopen( "/tmp/shutdown-func.txt", "a" );
fwrite( $fp, sprintf( "connection aborted on %s\n", date( "d-m-Y H:i:s" ) ) );
if( $conn ) {
OCIRollBack( $conn );
fwrite( $fp, sprintf( "-- DURING CONNECTION! ip=%s, user=%s, page=%s\n", $_SERVER["REMOTE_ADDR"], $_SERVER["PHP_AUTH_USER"], $_SERVER["SCRIPT_FILENAME"] ) );
}
fclose( $fp );
}
}
register_shutdown_function ( "close_db_locks_on_abort" );
This makes sure a rollback is done on a connection when a user hits 'stop', so there will be no locks on table rows.
