php.ini Einstellungen
PHP Manual

Verarbeitung von Daten

Konfigurations-Optionen für die Verarbeitung von Daten
Name Default Änderbar Änderungen
track_vars "On" PHP_INI_??  
arg_separator.output "&" PHP_INI_ALL Verfügbar seit PHP 4.0.5.
arg_separator.input "&" PHP_INI_PERDIR Verfügbar seit PHP 4.0.5.
variables_order "EGPCS" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 5.0.5.
auto_globals_jit "1" PHP_INI_PERDIR Verfügbar seit PHP 5.0.0.
register_globals "0" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3.
register_argc_argv "1" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3.
register_long_arrays "1" PHP_INI_PERDIR Verfügbar seit PHP 5.0.0.
post_max_size "8M" PHP_INI_PERDIR PHP_INI_SYSTEM in PHP <= 4.2.3. Verfügbar seit PHP 4.0.3.
gpc_order "GPC" PHP_INI_ALL  
auto_prepend_file NULL PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3.
auto_append_file NULL PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3.
default_mimetype "text/html" PHP_INI_ALL  
default_charset "" PHP_INI_ALL  
always_populate_raw_post_data "0" PHP_INI_PERDIR PHP_INI_ALL in PHP <= 4.2.3. Verfügbar seit PHP 4.1.0.
allow_webdav_methods "0" PHP_INI_PERDIR  

Hier eine kurze Erklärung der Konfigurationsoptionen:

track_vars boolean

Wenn diese Option aktiviert ist, sind Umgebungs-, GET-, POST-, Cookie- und Server-Variablen in den globalen assoziativen Arrays $_ENV, $_GET, $_POST, $_COOKIE, und $_SERVER.

Beachten Sie, dass seit PHP 4.0.3, track_vars immer eingeschaltet ist.

arg_separator.output string

Das Trennzeichen, das in von PHP generierten URLs benutzt wird, um Argumente abzutrennen.

arg_separator.input string

Liste der Trennzeichen, die von PHP beim Parsen von URLs zu Variablen benutzt werden.

Hinweis: Jeder Buchstabe in dieser Option wird als Trennzeichen interpretiert!

variables_order string

Legt die Reihenfolge der EGPCS (Environment (Umgebungsvariablen), Get, Post, Cookie und Server) -Variablenverarbeitung fest. Wenn zum Beispiel variables_order auf "SP" eingestellt ist, wird PHP die superglobals $_SERVER und $_POST, nicht aber $_ENV, $_GET und $_COOKIE anlegen. Wird dieser Wert auf "" gesetzt, so werden keine superglobals erzeugt.

Falls die veraltete EInstellung register_globals eingeschaltet ist (seit PHP 6.0.0 entfernt), dann legt variables_order ebenfalls die Reihenfolge fest, in der ENV, GET, POST, COOKIE und SERVER Variablen im globalen Namensraum veröffentlicht werden. Falls also zum Beispiel variables_order auf "EGPCS" eingestellt und register_globals eingeschaltet ist und ebenfalls sowohl $_GET['action'] als auch $_POST['action'] gesetzt sind, dann wird $action den Wert aus $_POST['action'] beinhalten, da P im Beispiel nach G erscheint.

Warnung

Sowohl im CGI als auch im FastCGI SAPI enthält $_SERVER immer auch Variablen aus dem Environment, S ist hier immer equvalent zu ES unabhängig davon ob E noch anderweitig in der Direktive benutzt wird.

Hinweis: Der Inhalt und die Reihenfolge von $_REQUEST sind von dieser Direktive ebenfalls betroffen.

auto_globals_jit boolean

Wenn eingeschaltet werden die Variablen SERVER und ENV erzeugt, sobald diese das erste mal verwendet werden (Just In Time) anstelle des Ausführungsbeginns des Skriptes. Wenn diese Variablen in einem Skript nicht verwendet werden wird das Einschalten dieser Einstellung einen Geschwindigkeitszuwachs hervorbringen.

Die PHP Einstellungen register_globals, register_long_arrays, und register_argc_argv müssen ausgeschaltet sein, damit diese Einstellung Wirkung zeigt. Seit PHP 5.1.3 ist es nicht mehr notwendig register_argc_argv auszuschalten.

register_globals boolean

Bestimmt, ob die EGPCS (Environment/Umgebung, GET, POST, Cookie, Server) Variablen als globale Variablen registriert werden sollen.

Seit » PHP 4.2.0 ist diese Einstellung standardmäßig ausgeschaltet.

Bitte lesen Sie auch das Sicherheits-Kapitel über die Benutzung von register_globals für weitere Informationen.

Bitte beachten Sie, dass register_globals nicht während der Laufzeit Ihrer Skripte gesetzt werden kann (ini_set()). Wenn Ihr Server es erlaubt, können Sie aber .htaccess wie oben beschrieben verwenden. Beispiel für einen .htaccess Eintrag: php_flag register_globals on .

Hinweis: register_globals wird durch die Option variables_order beeinflusst.

Warnung

Dieses Feature ist DEPRECATED (veraltet) und wird in PHP 6.0.0 ENTFERNT. Sich auf dieses Feature zu verlassen ist in keiner Weise empfehlenswert.

register_argc_argv boolean
Bestimmt, ob die argv- & argc-Variablen deklariert werden sollen (betrifft die GET-Informationen). Siehe auch Kommandozeile. Diese Option ist seit PHP 4.0.0 verfügbar, vorher war sie immer "on".
register_long_arrays boolean
Bestimmt, ob PHP die nicht mehr empfohlenen langen Varianten ($HTTP_*_VARS) der vordefinierten Variablen registrieren soll. Wenn On (Standardwert), dann werden PHP-Variablen wie $HTTP_GET_VARS definiert. Wenn Sie diese nicht nutzen, empfehlen wir Ihnen, diese Option aus Gründen der Performance auf "off" zu setzen. Benutzen Sie stattdessen die superglobalen Arrays wie $_GET. Diese Option ist seit PHP 5.0.0 verfügbar und wurde in PHP 6.0.0 wieder entfernt.
post_max_size integer
Setzt die maximal erlaubte Größe von POST-Daten. Diese Option betrifft auch den Datei-Upload. Um größere Dateien hochzuladen, muss der Wert größer sein als upload_max_filesize. Wenn eine maximale Speichergrenze während des Kompilierens aktiviert wurde, dann betrifft auch memory_limit den Datei-Upload. Allgemein sollte memory_limit größer als post_max_size sein. Wird ein integer Wert verwendet, wird dieser Wert in Bytes gemessen. Sie können auch die Kurzschreibweise verwenden, wie in dieser FAQ beschrieben. Wenn die Größe der POST-Daten größer ist als post_max_size, werden $_POST und $_FILES leer sein. Dies kann auf verschiedene Weisen verfolgt werden, z.B. indem man die $_GET-Variable an das die Daten verarbeitende Skript weitergibt, d.h. <form action="edit.php?processed=1"> und daraufhin prüfen, ob $_GET['processed'] gesetzt ist.
gpc_order string

Legt die Auswertungsreihenfolge für GET-/POST-/COOKIE-Variablen fest. Die Standardeinstellung ist "GPC". Wenn Sie diesen Wert auf z.B. "GP" setzen, dann ignoriert PHP Cookies, und wird jede GET-Variable mit POST-Variablen des gleichen Namens überschreiben.

Hinweis: Diese Option ist in PHP 4 nicht verfügbar. Benutzen Sie stattdessen variables_order.

auto_prepend_file string

Hier können Sie eine Datei angeben, die automatisch vor der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der require() Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der spezielle Wert none deaktiviert Auto-Prepending.

auto_append_file string

Hier können Sie eine Datei angeben, die automatisch nach der Hauptdatei aufgerufen wird. Die Datei wird in die aufgerufene Datei eingebettet, als wenn Sie sie mittels der require() Funktion eingebunden hätten, dabei wird ein gesetzter include_path beachtet.

Der spezielle Wert none deaktiviert Auto-Appending.

Hinweis: Wird das Skript mit der Funktion exit() beendet, dann wird Auto-Appending nicht aktiv.

default_mimetype string

default_charset string

Seit Version 4.0.0 gibt PHP standardmäßig immer eine Zeichen-Kodierung im "Content-type:"-Header aus. Um dies zu verhindern, lassen Sie diese Option leer.

always_populate_raw_post_data boolean

Bestimmt, ob die Variable $HTTP_RAW_POST_DATA mit den unbehandelten POST Daten gefüllt werden soll. Andernfalls wird die Variable nur mit Daten von unbekanntem MIME Typ gefüllt. Die bevorzugte Methode, um auf unbehandelte POST Daten zuzugreifen ist aber php://input. $HTTP_RAW_POST_DATA ist bei enctype="multipart/form-data" nicht verfügbar.

allow_webdav_methods boolean

Diese Einstellung steht nur für Versionen bis PHP 4.3.2 zur Verfügung. Bestimmt, ob WebDAV-HTTP-Requests in PHP-Skripten erlaubt sein sollen (z.B. PROPFIND, PROPPATCH, MOVE, COPY, etc.). Wenn Sie die POST-Daten solcher Requests erhalten wollen, müssen Sie auch always_populate_raw_post_data aktivieren.

Siehe auch magic_quotes_gpc, magic-quotes-runtime und magic_quotes_sybase.


php.ini Einstellungen
PHP Manual