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. |
| request_order | "" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Verfügbar seit PHP 5.3.0 |
| 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_varsimmer 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.
WarnungSowohl 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.
- request_order string
-
Diese Direktive legt fest in welcher Reihenfolge PHP GET, POST und Cookie Variablen im _REQUEST Array ablegt. Die Registrierung erfolgt dabei von links nach rechts und neuere Einträge überscrheiben bisherige Werte gleichen Namens.
Ist diese Direktive nicht gesetzt so wird statt dessen variables_order für die Inhalte von $_REQUEST ausgewertet.
- 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.
WarnungOb SERVER und ENV Variablen benutzt werden wird bereits zur Kompilationszeit geprüft, ein Zugriff über variable Variablen führt daher nicht dazu das diese initialisiert werden.
- 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_globalsnicht 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_globalswird durch die Option variables_order beeinflusst.
WarnungDieses 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.
Hinweis: PHP gestattet die Angabe von K für kilo, M für mega und G für Giga bei der Angabe von Werten und rechnet diese automatisch um. Vermeiden Sie aber beim Einsatz von 32bit Versionen die Angabe von Werten die das Limit für vorzeichenbehaftete 32 bit Integer überschreiten da Ihre Skripte sonst fehlschlagen werden.
- 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.
Verarbeitung von Daten
