Wenn man mit PHP-Scripten auf der Kommandozeile arbeitet, kann man normalerweise über das globale $_ENV Array auf die Umgebungsvariablen zufreifen.
Jedoch bietet längst nicht jede PHP-Distribution die gleichen Voraussetzungen. Ist in der php.ini z.B.
variables_order = "GPCS" # (GET, POST, COOKIE, SESSION)
gesetzt (ohne “E”), wird das $_ENV Array nicht befüllt. Folgende Einstellung füllt das $_ENV Array wieder entsprechend:
variables_order = "EGPCS" # (ENV, GET, POST, COOKIE, SESSION)
Für die Verwendung von PHP in Verbindung mit Webservern ist die Standardeinstellung (bei manchen Distributionen) sicherlich nicht ganz falsch: Die Einstellung verhindert dann, dass sämtliche Umgebungsvariablen jedem PHP-Script zum Auslesen zur Verfügung stehen. Daher ist es sinnvoll, PHP für die Kommandozeile eine eigene php.ini mitzugeben:
php -c /etc/php.ini_cli script.php
Debian hat von vornherein eine eigene php.ini (in /etc/php5/cli/php.ini) für das CLI (sehr vorbildlich).