Synapsenschredder

Code, Work, Income.

Quicktipp: Undefined variable: _SERVER

Falls jemand in der Kombination PHP 5.x + Apache 2.x mit dem Fehler

Undefined variable: _SERVER

konfrontiert wird, dürfte sich erstmal wundern. Denn eigentlich geht man ja davon aus, dass die globale Variable $_SERVER ja immer vorhanden ist.

Die Fehlermeldung hat aber mit folgender Variable in der php.ini zu tun:

auto_globals_jit = On

Diese Variable sorgt laut Dokumentation dafür:

When enabled, the SERVER and ENV variables are created when they're first used (Just In Time) instead of when the script starts. If these variables are not used within a script, having this directive on will result in a performance gain.

Heißt, die globalen Variablen $_SERVER und $_ENV werden erst erzeugt, wenn sie das erste Mal benötigt werden. Ich weiß jetzt nicht warum, aber unter bestimmten Umständen werden sie scheinbar zu spät erzeugt, was dann für die obige Fehlermeldung sorgt.

Abhilfe schafft, die Einstellung einfach auszuschalten und den Apache danach einmal neu zu starten:

auto_globals_jit = Off