ID:               35117
 Updated by:       [EMAIL PROTECTED]
 Reported By:      [EMAIL PROTECTED]
-Status:           Feedback
+Status:           Bogus
 Bug Type:         *General Issues
 Operating System: Debian sarge
 PHP Version:      5.1.0RC4
 New Comment:

Ah, I didn't notice the mention about APC. This is not PHP bug  but bug
in APC then. Report this to correct place. (pecl.php.net)



Previous Comments:
------------------------------------------------------------------------

[2005-11-05 19:56:43] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5-win32-latest.zip

I can't reproduce this. And what configure line did you use?

------------------------------------------------------------------------

[2005-11-05 19:39:04] [EMAIL PROTECTED]

Description:
------------
I noticed the following error after moving a Web site's code to a
machine running PHP 5.1RC4:

PHP Notice:  Undefined variable: _SERVER in
/data/home/ramsey/public_html/file.inc on line 2

This didn't make any sense, however for two reasons: 1) I'm able to use
$_SERVER in other scripts, and 2) this variable should be an
auto-global. The difference with this script, though, is that it is an
.inc file that is included and executed within a parent script.

If I place "global $_SERVER;" at the top of the included file, then it
has access to the $_SERVER auto-global array--on the first load of the
page only. Each subsequent load of the page again produces the PHP
Notice above.

I haven't tested this with other auto-globals, so I don't know whether
they have the same problems.

I created two simple test scripts to reproduce this (shown in the
"reproduce code" section). 

I noticed that the first time I loaded the page, it showed the $_SERVER
array just fine, but on each subsequent load, it generates the undefined
variable notice given above.

Everytime I make a change (any change) to the page and load it, the
array shows up on the first load only. With this in mind, I realized
that the problem was probably not with the auto-global array but with
APC, which I also have installed (using "pecl install apc" and
accepting the default configuration values). When I comment out the APC
extension line in php.ini, the $_SERVER array shows up perfectly on each
load of the page.

Reproduce code:
---------------
test.php:
<?php
include_once 'file.inc';
?>

file.inc:
<?php
print_r($_SERVER);
?>

Expected result:
----------------
I should see the print_r() output of the $_SERVER auto-global array
each time the page loads.

Actual result:
--------------
A PHP notice that occurs each time the page loads (but I noticed that
the expected result occurred the first time the page loaded):

PHP Notice:  Undefined variable: _SERVER in
/data/home/ramsey/public_html/file.inc on line 2


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=35117&edit=1

Reply via email to