--TEST-- Check oci_connect try/catch end-of-scope with old_oci_close_semantics On --EXTENSIONS-- oci8 --SKIPIF-- --INI-- oci8.old_oci_close_semantics=1 --FILE-- throws exception oci_execute($s, OCI_DEFAULT); // no commit } catch (Exception $e) { echo "Caught Exception: ". $e->getMessage(), "\n"; var_dump($c); // Verify data is not yet committed $s1 = oci_parse($c1, "select * from scope_try2_tab"); oci_execute($s1); oci_fetch_all($s1, $r); var_dump($r); // Now commit oci_commit($c); } // Verify data was committed in the Catch block $s1 = oci_parse($c1, "select * from scope_try2_tab"); oci_execute($s1); oci_fetch_all($s1, $r); var_dump($r); // Cleanup $stmtarray = array( "drop table scope_try2_tab" ); oci8_test_sql_execute($c1, $stmtarray); echo "Done\n"; ?> --EXPECTF-- Deprecated: Directive oci8.old_oci_close_semantics is deprecated%s Test 1 Caught Exception: oci_execute(): ORA-%r(00984|57000: TT2957)%r: %s resource(%d) of type (oci8 connection) array(1) { ["C1"]=> array(0) { } } array(1) { ["C1"]=> array(1) { [0]=> string(1) "1" } } Done