Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Name | Standard | Veränderbar | Changelog |
---|---|---|---|
session.save_path | "" | PHP_INI_ALL | |
session.name | "PHPSESSID" | PHP_INI_ALL | |
session.save_handler | "files" | PHP_INI_ALL | |
session.auto_start | "0" | PHP_INI_ALL | |
session.gc_probability | "1" | PHP_INI_ALL | |
session.gc_divisor | "100" | PHP_INI_ALL | Seit PHP 4.3.2 verfügbar. |
session.gc_maxlifetime | "1440" | PHP_INI_ALL | |
session.serialize_handler | "php" | PHP_INI_ALL | |
session.cookie_lifetime | "0" | PHP_INI_ALL | |
session.cookie_path | "/" | PHP_INI_ALL | |
session.cookie_domain | "" | PHP_INI_ALL | |
session.cookie_secure | "" | PHP_INI_ALL | Seit PHP 4.0.4 verfügbar. |
session.cookie_httponly | "" | PHP_INI_ALL | Seit PHP 5.2.0 verfügbar. |
session.use_cookies | "1" | PHP_INI_ALL | |
session.use_only_cookies | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. |
session.referer_check | "" | PHP_INI_ALL | |
session.entropy_file | "" | PHP_INI_ALL | |
session.entropy_length | "0" | PHP_INI_ALL | |
session.cache_limiter | "nocache" | PHP_INI_ALL | |
session.cache_expire | "180" | PHP_INI_ALL | |
session.use_trans_sid | "0" | PHP_INI_ALL | PHP_INI_ALL in PHP <= 4.2.3. PHP_INI_PERDIR in PHP < 5. Seit PHP 4.0.3 verfügbar. |
session.bug_compat_42 | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. Entfernt in PHP 5.4.0. |
session.bug_compat_warn | "1" | PHP_INI_ALL | Seit PHP 4.3.0 verfügbar. Entfernt in PHP 5.4.0. |
session.hash_function | "0" | PHP_INI_ALL | Seit PHP 5.0.0 verfügbar. |
session.hash_bits_per_character | "4" | PHP_INI_ALL | Seit PHP 5.0.0 verfügbar. |
url_rewriter.tags | "a=href,area=href,frame=src,form=,fieldset=" | PHP_INI_ALL | Seit PHP 4.0.4 verfügbar. |
session.upload_progress.enabled | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
session.upload_progress.cleanup | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
session.upload_progress.prefix | "upload_progress_" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
session.upload_progress.name | "PHP_SESSION_UPLOAD_PROGRESS" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
session.upload_progress.freq | "1%" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
session.upload_progress.min_freq | "1" | PHP_INI_PERDIR | Seit PHP 5.4.0 verfügbar. |
Das Sessionmanagementsystem unterstützt eine Anzahl von Konfigurationsoptionen, die Sie in Ihrer php.ini setzen können. Wir geben Ihnen dazu einen kleinen Überblick.
session.save_handler
string
session.save_path
string
Für diese Anweisung gibt es ein optionales Argument N, das die Anzahl der Verzeichnisebenen bestimmt, über die Ihre Session-Dateien verteilt werden. Wird sie zum Beispiel auf '5;/tmp' gesetzt, kann das das Anlegen einer Session-Datei und Speicherstelle wie /tmp/4/b/1/e/3/sess_4b1e384ad74619bd212e236e52a5a174If bewirken. Um N verwenden zu können, müssen Sie alle diese Verzeichnisse vorher anlegen. In ext/session gibt es für diesen Zweck ein kleines Shell-Script namens mod_files.sh und eine Version für Windows namens mod_files.bat. Beachten Sie, dass die automatische 'Müllentsorgung' (garbage collection) nicht durchgeführt wird, wenn N verwendet wird und größer 0 ist (für weitere Informationen siehe eine Kopie der php.ini). Achten Sie bei der Verwendung von N außerdem darauf, dass Sie session.save_path zwischen Anführungsstriche setzen, weil der Trenner (;) in der php.ini auch für Kommentare benutzt wird.
Wenn Sie ein Verzeichnis gewählt haben, für das jeder Leserechte hat, wie das z.B. bei /tmp (Grundeinstellung) der Fall ist, könnten andere Serverbenutzer mit Hilfe der Dateiliste dieses Verzeichnisses Ihre Sessions entführen.
Hinweis: Vor PHP 4.3.6 mussten Benutzer von Windows diese Variable ändern, um die Session-Funktionen von PHP nutzen zu können. Es muss ein gültiger Pfad, z.B. c:/temp, angegeben werden.
session.name
string
session.auto_start
boolean
session.serialize_handler
string
session.gc_probability
integer
session.gc_divisor
integer
session.gc_maxlifetime
integer
Hinweis:
Falls sich der Wert von session.gc_maxlifetime in verschiedenen Scripts unterscheidet, aber sie die Sessiondaten an der selben Stelle speichern, löscht das Script mit dem kleinsten Wert die Daten. Verwenden Sie die Anweisung in diesem Fall zusammen mit der Anweisung session.save_path.
Hinweis: Falls Sie die standardmäßige dateibasierte Session-Prozedur verwenden, muss Ihr Dateisystem die Zugriffszeiten (atime) verfolgen. Windows FAT tut dies nicht. Sie müssen sich daher einen anderen Weg einfallen lassen, um die 'Müllentsorgung' Ihrer Session zu erledigen, wenn Sie an ein FAT-Dateisystem gebunden sind oder an irgendein anderes Dateisystem, das keine atime-Kontrolle bietet. Seit PHP 4.2.3 wird mtime (modified date) anstatt atime verwendet. Sie werden also keine Problem mit Dateisystemen haben, bei denen atime nicht zur Verfügung steht.
session.referer_check
string
session.entropy_file
string
session.entropy_length
integer
Hinweis:
Der Verfalls-Zeitstempel wird relativ zur Serverzeit gesetzt, die nicht unbedingt mit der Browserzeit des Clients übereinstimmt.
session.cache_limiter
string
session.cache_expire
integer
session.use_trans_sid
boolean
Hinweis: In PHP 4.1.2 oder darunter wird sie durch compilieren mit --enable-trans-sid aktiviert. Ab PHP 4.2.0 ist das Feature trans-sid immer eincompiliert. URL-basiertes Session-Management hat im Vergleich zu Cookie-basiertem Session-Management zusätzliche Sicherheitsrisiken. Benutzer können zum Beispiel eine URL, die eine aktive Session-ID enthält, per Email an Freunde schicken oder in ihren Bookmarks speichern und immer mit der selben Session-ID auf Ihre Seite zugreifen.
session.bug_compat_42
boolean
session.bug_compat_warn
boolean
session.hash_function
mixed
Ab PHP 5.3.0 ist es auch möglich, einen der Algorithmen zu bestimmen, die durch die Hash-Erweiterung (falls vorhanden) zur Verfügung stehen, wie z.B. sha512 oder whirlpool. Eine vollständige Liste unterstützter Algorithmen erhalten Sie mit der Funktion hash_algos().
Hinweis:
Diese Einstellung wurde in PHP 5 eingeführt.
session.hash_bits_per_character
integer
Hinweis:
Dies wurde in PHP 5 eingeführt.
Hinweis: Wenn Sie HTML/XHTML strict-Konformität wollen, müssen Sie den form-Eintrag entfernen und Ihre Formularfelder zwischen <fieldset>-Tags setzen.
session.upload_progress.enabled
boolean
session.upload_progress.cleanup
boolean
Hinweis: Es wird dringend empfohlen diese Option aktiviert zu lassen.
session.upload_progress.prefix
string
session.upload_progress.name
string
session.upload_progress.freq
mixed
session.upload_progress.min-freq
integer
Die Konfigurationseinstellungen von track_vars und register_globals beeinflussen, wie die Session-Variablen gespeichert und wiederhergestellt werden.
Upload-Fortschritt wird nur aufgezeichnet, wenn session.upload_progress.enabled aktiviert ist und die $_POST[ini_get("session.upload_progress.name")] Variable gesetzt ist. Siehe Session Upload Progress für weitere Informationen diesbezüglich.
Hinweis:
Seit PHP 4.0.3 ist track_vars immer aktiviert.