Re: Call to undefined function problem

From: Date: Tue, 11 Sep 2001 04:53:51 +0000
Subject: Re: Call to undefined function problem
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-66849@lists.php.net to get a copy of this message
Further information: The page is navigated to via a previous page using a "Location: /test.php" header. The problem occurs when I first navigate to the page. If I then do a refresh from the browser, the problem disappears. I also did further testing where I put the following type of code between the requires (a unique number for each statement): if (function_exists("setNoCacheHeaders")) { echo "exists 1<br>"; } else { echo "does not exist 1<br>"; } In the broken scenario, the function never exists. In the working scenario it is always there. I also neglected to say that I was switching from php3.0.14 to php4.0.6. "Doug Farmer" <daf@peakpeak.com> wrote in message news:20010911035003.96626.qmail@pb1.pair.com... > > I'm doing the following: > > ---- test.php ----- > <?php > require("functions.php"); > require("...."); // several other requires here > > setNoCacheHeaders(); // this is line 16 > > // other stuff here > ?> > > ------ functions.php ----- > <?php > > if (!define("__FUNCTIONS__") ) > { > define( "__FUNCTIONS__", 1, 1 ); > > // a bunch of other defines here > echo "here 1<br>"; > function setNoCacheHeaders( ) { > static $headersNotSet = TRUE; > > if ( $headersNotSet ) { > header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the > past > header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " > GMT"); // > always modified > header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1 > header("Pragma: no-cache"); // HTTP/1.0 > $headersNotSet = FALSE; > } > } > echo "here 2<br>"; > > // a few more functions here > > } > > -------------------------------- > > My output is > here 1 > here 2 > > Fatal error: Call to undefined function: setnocacheheaders() in > $DOCUMENT_ROOT/test.php on line 16 > > Can someone explain? I found something similar in the archives but no > answer was given. This exact code worked under php3. The only changes in > the files were files ending in php3 were changed to end php. I also had 2 > classes that I was using that had initializers in the variable declaration. > I moved the initialization to constructors. > > Note that on some clients the request goes through w/o errors. This is > intermittent but consistent on a per client basis. > > - doug > > > >

« previous php.general (#66849) next »