Thanks.  I ran some further tests and came to the same conclusion.   My test
showed that the constant was defined even though in theory it should be a
new request.

Since this is a production system, I don't want to go with a release
candidate.   I'm going to do a switchover to "include_once".


"Rasmus Lerdorf" <[EMAIL PROTECTED]> wrote in message
[EMAIL PROTECTED]">news:[EMAIL PROTECTED]...
> Try the current 4.0.7 release candidates.  There were some define()
> related issues in prior versions.  Also, in PHP 4 you don't need those
> defines to protect from multiple inclusion.  You can simply use
> include_once
>
> -Rasmus
>
> On Mon, 10 Sep 2001, Doug Farmer wrote:
>
> >
> > 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