#39352 [Bgs->Opn]: oci_close fails with global keyword

From: Date: Thu, 09 Nov 2006 14:55:54 +0000
Subject: #39352 [Bgs->Opn]: oci_close fails with global keyword
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-104717@lists.php.net to get a copy of this message
ID: 39352 User updated by: david at acz dot org Reported By: david at acz dot org -Status: Bogus +Status: Open -Bug Type: OCI8 related +Bug Type: Scripting Engine problem Operating System: SuSE Linux 9.3 PHP Version: 5.2.0 Assigned To: tony2001 New Comment: Changing category. Previous Comments: ------------------------------------------------------------------------ [2006-11-08 10:08:45] tony2001@php.net Actually this has nothing to do with OCI8, as this is the way PHP handles resources. You can do the same trick with MySQL and it won't actually close the connection when using global variable, but it will work with $GLOBALS. ------------------------------------------------------------------------ [2006-11-06 08:50:31] anon at anon dot com reproduced on Windows 2003 server, using Nov 2 release of 5.2.0 ------------------------------------------------------------------------ [2006-11-02 22:54:38] david at acz dot org Description: ------------ oci_close() fails if the connection resource is a global accessed via the "global" keyword, but works if accessed using the $GLOBALS array. Reproduce code: --------------- $conn = oci_connect(DB_USER, DB_PASS, DB_NAME); var_dump($conn); global_keyword(); global_array(); function global_keyword() { global $conn; var_dump($conn); oci_close($conn); // this seems to do nothing var_dump($conn); } function global_array() { var_dump($GLOBALS["conn"]); oci_close($GLOBALS["conn"]); // this works var_dump($GLOBALS["conn"]); } Expected result: ---------------- resource(8) of type (oci8 connection) resource(8) of type (oci8 connection) NULL NULL PHP Warning: oci_close() expects parameter 1 to be resource, null given NULL Actual result: -------------- resource(8) of type (oci8 connection) resource(8) of type (oci8 connection) resource(8) of type (oci8 connection) resource(8) of type (oci8 connection) NULL ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39352&edit=1

« previous php.bugs (#104717) next »