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" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
>
> 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
>
>
>
>



-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to