PHP: $_ENV leer

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).

This entry was posted in Linux and tagged , . Bookmark the permalink.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">