PHP 4.0 Bug #9857 Updated: define("named_constant")

From: Date: Mon, 09 Apr 2001 07:26:00 +0000
Subject: PHP 4.0 Bug #9857 Updated: define("named_constant")
Groups: php.dev 
Request: Send a blank email to php-dev+get-51169@lists.php.net to get a copy of this message
ID: 9857 User Update by: shmengie_2000@yahoo.com Old-Status: Open Status: Closed Bug Type: IIS related Description: define("named_constant") Making this change in oci8.c #ifdef ZTS #define PHP_OCI_INIT_MODE OCI_DEFAULT /* OCI_DEFAULT was OCI_THREADED on the above line*/ #else #define PHP_OCI_INIT_MODE OCI_DEFAULT #endif Now the defined() does not have a problem. This makes me reasonably sure that it is OCI8 walking on other memory. By changing OCI_THREADED to OCI_DEFAULT oci does not use it's own memory sharing features in threaded environments. This removes any benifit that may be gained by a threaded environment, but also cause PHP not to crash. I find the PHP not crashing much more productive. ;-) Will have to work on OCI source to take advantage of threaded environments. Think it will be a major re-write of OCI8.c for this, because other attemts of a quick source fix have been unsuccessful. For now, this works. joebrown podiatryfl.com Previous Comments: --------------------------------------------------------------------------- [2001-04-07 17:29:17] sniper@php.net User feedback: -------------- I'm using the latest snapshot's on win32. Getting some needed practice with MSVC... I think the problem is that OCI is walking on TSRM local storage. I haven't been able to verify it, but my gut says it's so. --------------------------------------------------------------------------- [2001-04-06 23:57:54] sniper@php.net Are you using PHP 4.0.1? If so, could you please try with the latest release, 4.0.4pl1? --Jani --------------------------------------------------------------------------- [2001-03-29 01:34:23] shmengie_2000@yahoo.com Taking a shot in the dark, hoping this bug comes to sombody who "knows" attention. Prior comments are somewhat misleading. I'm using OCI8, and also Manuel Lemos' Metabase. Parusing through the source, I've noticed that there are some constants defined for OCI8 (which are documented): eg: REGISTER_LONG_CONSTANT("OCI_DEFAULT",OCI_DEFAULT, CONST_CS | CONST_PERSISTENT); I question this CONST_PERSISTENT value. Is it possible that the persistence is helping non persistent constants (in the php code) strattle the void between pages? BTW: what does _zval_dtor in the source mean? Specifically, "dtor" --------------------------------------------------------------------------- [2001-03-26 17:46:42] shmengie_2000@yahoo.com A define on php4isapi has a tendency to bleed over to the next page load. refresh and a completely different page have retain a defined constant. eg: test1.php <? define("anything",1); echo (defined("anything")?"anything defined":"anything not defined"); ?> test2.php echo (defined("anything")?"anything defined":"anything not defined"); after pointing browser at test1.php test 2.php contains "anything defined", instead of "not" --------------------------------------------------------------------------- [2001-03-20 01:15:49] shmengie_2000@yahoo.com With this code at the top of an include file, the results are unpretictable. if(!defined("METABASE_MYSQL_INCLUDED")) { define("METABASE_MYSQL_INCLUDED",1); ...rest of include file... } require_once(); seems to work though. --------------------------------------------------------------------------- The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online. Full Bug description available at: http://bugs.php.net/?id=9857

« previous php.dev (#51169) next »