Bug #69081 [Opn->Fbk]: $_SERVER variable sometimes undefined
| From: | requinix@php.net | Date: | Thu, 19 Feb 2015 19:35:58 +0000 |
| Subject: | Bug #69081 [Opn->Fbk]: $_SERVER variable sometimes undefined | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-190825@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=69081&edit=1
ID: 69081
Updated by: requinix@php.net
Reported by: djbrainnrg at gmail dot com
Summary: $_SERVER variable sometimes undefined
-Status: Open
+Status: Feedback
Type: Bug
Package: Unknown/Other Function
Operating System: Windows 7 64bit
PHP Version: master-Git-2015-02-19 (snap)
Block user comment: N
Private report: N
New Comment:
So what's in Request.class.php on line 198?
Needing "$_SERVER;" or needing to disable JIT suggests you have some sort of
variable-variables stuff going on. PHP creates $_SERVER (and others) when it's detected in code
so if there's some execution path where that doesn't happen before you try to do, say,
$GLOBALS["_SERVER"], then you'll have this problem.
Previous Comments:
------------------------------------------------------------------------
[2015-02-19 14:31:59] djbrainnrg at gmail dot com
Here is my phpinfo page
http://i.imgur.com/qLasmoY.png
------------------------------------------------------------------------
[2015-02-19 14:31:00] djbrainnrg at gmail dot com
Description:
------------
Coming from this 64bit build -> http://windows.php.net/downloads/snaps/master/r400e65e/php-master-ts-windows-vc11-x64-r400e65e.zip
Running with apache 2.4.12 Win64.
For an unknown reason sometimes, very rare, the variable $_SERVER isn't available -> I have
the failure everytime at the same place but i cannot provide a reproducable example because that
only happens in combination with our used framework.
Also it only happens on the third request in a row.
Request 1: Main Page Load - Normal GET request
Request 2: Ajax Request to another page - Loaded directly on pageload
Request 3: Ajax Request to another page - Loaded directly on pageload => Error happens here
I can prevent the failure by adding just the line
$_SERVER;
at the begin of the script execution chain, lets say on the entry page.
Also i can prevent this failure with this option disabled in
auto_globals_jit = Off
in php.ini
Full debug_backtrace bellow, i know it may not help that mutch but i don't have anything better
for debugging right now.
Test script:
---------------
Cannot provide an example yet.
Actual result:
--------------
Notice: Undefined variable: _SERVER in C:\www\ouced\live\modules\Ouced\src\class\Request.class.php
on line 198
array(11) {
[0]=>
array(7) {
["file"]=>
string(42) "C:\www\ouced\live\modules\Caritas\init.php"
["line"]=>
int(66)
["function"]=>
string(7) "getHost"
["class"]=>
string(13) "Ouced_Request"
["object"]=>
object(Ouced_Request)#17 (1) {
["headers":"Ouced_Request":private]=>
NULL
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[1]=>
array(4) {
["file"]=>
string(59) "C:\www\ouced\live\modules\Ouced\src\class\FS\File.class.php"
["line"]=>
int(408)
["args"]=>
array(1) {
[0]=>
string(42) "C:\www\ouced\live\modules\Caritas\init.php"
}
["function"]=>
string(12) "include_once"
}
[2]=>
array(7) {
["file"]=>
string(58) "C:\www\ouced\live\modules\Ouced\src\class\Module.class.php"
["line"]=>
int(65)
["function"]=>
string(11) "includeFile"
["class"]=>
string(13) "Ouced_FS_File"
["object"]=>
object(Ouced_FS_File)#15 (11) {
["directory":"Ouced_FS_File":private]=>
NULL
["filename":"Ouced_FS_File":private]=>
NULL
["filenameHash":"Ouced_FS_File":private]=>
NULL
["extension":"Ouced_FS_File":private]=>
NULL
["filesize":"Ouced_FS_File":private]=>
NULL
["accessTime":"Ouced_FS_File":private]=>
NULL
["modificationTime":"Ouced_FS_File":private]=>
NULL
["contents":"Ouced_FS_File":private]=>
NULL
["alias":"Ouced_FS_File":private]=>
NULL
["absolutePath"]=>
string(42) "C:\www\ouced\live\modules\Caritas\init.php"
["relativePath"]=>
string(24) "modules\Caritas\init.php"
}
["type"]=>
string(2) "->"
["args"]=>
array(2) {
[0]=>
bool(true)
[1]=>
bool(false)
}
}
[3]=>
array(6) {
["file"]=>
string(63) "C:\www\ouced\live\modules\Ouced\src\class\Initializer.class.php"
["line"]=>
int(77)
["function"]=>
string(14) "registerModule"
["class"]=>
string(12) "Ouced_Module"
["type"]=>
string(2) "::"
["args"]=>
array(1) {
[0]=>
string(7) "Caritas"
}
}
[4]=>
array(6) {
["file"]=>
string(53) "C:\www\ouced\live\modules\Ruh\config\basic.config.php"
["line"]=>
int(36)
["function"]=>
string(14) "registerModule"
["class"]=>
string(17) "Ouced_Initializer"
["type"]=>
string(2) "::"
["args"]=>
array(1) {
[0]=>
string(7) "Caritas"
}
}
[5]=>
array(4) {
["file"]=>
string(59) "C:\www\ouced\live\modules\Ouced\src\class\FS\File.class.php"
["line"]=>
int(408)
["args"]=>
array(1) {
[0]=>
string(53) "C:\www\ouced\live\modules\Ruh\config\basic.config.php"
}
["function"]=>
string(12) "include_once"
}
[6]=>
array(7) {
["file"]=>
string(58) "C:\www\ouced\live\modules\Ouced\src\class\Module.class.php"
["line"]=>
int(60)
["function"]=>
string(11) "includeFile"
["class"]=>
string(13) "Ouced_FS_File"
["object"]=>
object(Ouced_FS_File)#6 (11) {
["directory":"Ouced_FS_File":private]=>
NULL
["filename":"Ouced_FS_File":private]=>
NULL
["filenameHash":"Ouced_FS_File":private]=>
NULL
["extension":"Ouced_FS_File":private]=>
NULL
["filesize":"Ouced_FS_File":private]=>
NULL
["accessTime":"Ouced_FS_File":private]=>
NULL
["modificationTime":"Ouced_FS_File":private]=>
NULL
["contents":"Ouced_FS_File":private]=>
NULL
["alias":"Ouced_FS_File":private]=>
NULL
["absolutePath"]=>
string(53) "C:\www\ouced\live\modules\Ruh\config\basic.config.php"
["relativePath"]=>
string(35) "modules\Ruh\config\basic.config.php"
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[7]=>
array(6) {
["file"]=>
string(57) "C:\www\ouced\live\modules\Ouced\src\class\Ouced.class.php"
["line"]=>
int(164)
["function"]=>
string(14) "registerModule"
["class"]=>
string(12) "Ouced_Module"
["type"]=>
string(2) "::"
["args"]=>
array(2) {
[0]=>
string(3) "Ruh"
[1]=>
bool(true)
}
}
[8]=>
array(7) {
["file"]=>
string(57) "C:\www\ouced\live\modules\Ouced\src\class\Ouced.class.php"
["line"]=>
int(223)
["function"]=>
string(8) "initCore"
["class"]=>
string(5) "Ouced"
["object"]=>
object(Ouced)#1 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[9]=>
array(7) {
["file"]=>
string(40) "C:\www\ouced\live\modules\Ouced\init.php"
["line"]=>
int(13)
["function"]=>
string(16) "startApplication"
["class"]=>
string(5) "Ouced"
["object"]=>
object(Ouced)#1 (0) {
}
["type"]=>
string(2) "->"
["args"]=>
array(0) {
}
}
[10]=>
array(4) {
["file"]=>
string(46) "C:\www\ouced\live\modules\Ruh\public\index.php"
["line"]=>
int(8)
["args"]=>
array(1) {
[0]=>
string(40) "C:\www\ouced\live\modules\Ouced\init.php"
}
["function"]=>
string(12) "include_once"
}
}
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=69081&edit=1