Laufzeit-Konfiguration
Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.
Name | Standard | Veränderbar | Changelog |
---|---|---|---|
assert.active | "1" | PHP_INI_ALL | |
assert.bail | "0" | PHP_INI_ALL | |
assert.warning | "1" | PHP_INI_ALL | |
assert.callback | NULL | PHP_INI_ALL | |
assert.quiet_eval | "0" | PHP_INI_ALL | |
assert.exception | "0" | PHP_INI_ALL | Verfügbar von PHP 7.0.0 an. |
enable_dl | "1" | PHP_INI_SYSTEM | Dieses veraltete Feature wird in der Zukunft sicherlich entfernt. |
max_execution_time | "30" | PHP_INI_ALL | |
max_input_time | "-1" | PHP_INI_PERDIR | |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Verfügbar von PHP 5.2.3 an. |
max_input_vars | 1000 | PHP_INI_PERDIR | Verfügbar von PHP 5.3.9 an. |
magic_quotes_gpc | "1" | PHP_INI_PERDIR | Entfernt in PHP 5.4.0. |
magic_quotes_runtime | "0" | PHP_INI_ALL | Entfernt in PHP 5.4.0. |
zend.enable_gc | "1" | PHP_INI_ALL | Verfügbar von PHP 5.3.0 an. |
Hier eine kurze Erklärung der Konfigurationsoptionen:
-
assert.active
bool -
Aktiviert die assert()-Auswertung.
-
assert.bail
bool -
Beendet bei fehlgeschlagener Assertion die Ausführung eines Skripts.
-
assert.warning
bool -
Erzeugt bei jeder fehlgeschlagenen Assertion eine PHP-Warnung.
-
assert.callback
string -
Eine benutzerdefinierte Funktion, die bei fehlgeschlagenen Assertions ausgeführt wird.
-
assert.quiet_eval
bool -
Verwendet während der Auswertung eines Assertion-Ausdrucks die aktuelle Einstellung von error_reporting(). Ist diese Einstellung aktiviert, werden während der Auswertung keine Fehler angezeigt (implizit error_reporting(0)). Falls deaktiviert, werden Fehler entsprechend der Einstellung von error_reporting() angezeigt.
-
assert.exception
bool -
Erzeugt eine AssertionError-Exception für die fehlgeschlagene Assertion.
-
enable_dl
bool -
Mit dieser Direktive kann das dynamische Laden von PHP-Erweiterungen mittels dl() ein- und ausgeschaltet werden.
Der Hauptgrund, das dynmische Laden abzustellen, sind Sicherheitsüberlegungen. Mit dem dynamischen Laden ist es möglich, alle open_basedir-Einschränkungen zu umgehen. Der Standardwert ist, das dynamische Laden zuzulassen.
-
max_execution_time
int -
Legt die maximale Zeit in Sekunden fest, die ein Skript laufen darf, bevor der Parser die Ausführung stoppt. Diese Einstellung hilft zu verhindern, dass schlampig geschriebene Skripte Ihren Server lahmlegen. Der Standardwert für diese Einstellung ist
30
Sekunden. Wird PHP von der Kommandozeile ausgeführt, so ist der Standardwert0
.Auf Nicht-Windows-Systemen beeinhaltet die maximale Ausführungszeit keine Systemaufrufe, Streamoperationen usw. Weitere Details finden Sie bei der Funktion set_time_limit().
Ihr Webbserver kann andere Timeout-Einstellungen haben, die ebenfalls die PHP-Ausführung unterbrechen können. Apache hat eine
TimeOut
-Direktive und IIS hat eine CGI-Timeout-Funktion. Beide sind als Standardwert auf 300 Sekunden eingestellt. Genauere Informationen finden Sie in der Dokumentation Ihres Webservers. -
max_input_time
int -
Legt die maximale Zeit in Sekunden fest, die ein Skript verbrauchen darf, um Eingabedaten wie POST, GET und Dateiuploads zu verarbeiten. Die Zeitmessung beginnt, sobald PHP auf dem Server aufgerufen wird, und endet, wenn die Ausführung beginnt. Der Standardwert ist
-1
, was bedeutet, dass stattdessen max_execution_time verwendet wird. Der Wert0
bedeutet kein Zeitlimit. -
max_input_nesting_level
int -
Legt die maximale Verschachtelungtiefe für Eingabevariablen (z.B. $_GET, $_POST) fest.
-
max_input_vars
int -
Wie viele Eingabe-Variablen maximal angenommen werden (dieses Limit wird auf die superglobalen $_GET, $_POST und $_COOKIE separat angewandt). Die Verwendung dieser Einstellung verringert die Möglichkeit von Denial-of-Service-Angriffen, die Hash-Kollisionen nutzen. Wenn mehr Eingabe-Variablen gesendet werden, als mit dieser Einstellung erlaubt ist, wird ein Fehler der Stufe
E_WARNING
ausgelöst und weitere Eingabe-Variablen werden nicht angenommen. -
magic_quotes_gpc
bool -
Warnung
Dieses Feature wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und ist seit PHP 5.4.0 ENTFERNT.
Legt die magic_quotes-Einstellungen für GPC (Get/Post/Cookie) fest. Ist diese Einstellung auf on, werden alle ' (einzelne Anführungszeichen), " (doppelte Anführungszeichen), \ (Backslash) und NUL's automatisch mit einem Backslash maskiert.
Siehe auch get_magic_quotes_gpc().
-
magic_quotes_runtime
bool -
Warnung
Dieses Feature wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und ist seit PHP 5.4.0 ENTFERNT.
Falls
magic_quotes_runtime
aktiviert ist, werden die meisten Funktionen, die Daten von einer beliebigen externen Quelle zurückgeben, inklusive Datenbanken und Textdateien, die in den Daten enthaltenen Anführungszeichen mit einem Backslash maskiert zurückgeben.Funktionen, die von
magic_quotes_runtime
betroffen sind (ohne die Funktionen aus PECL):- get_meta_tags()
- file_get_contents()
- file()
- fgets()
- fwrite()
- fread()
- fputcsv()
- stream_socket_recvfrom()
- exec()
- system()
- passthru()
- stream_get_contents()
- bzread()
- gzfile()
- gzgets()
- gzwrite()
- gzread()
- exif_read_data()
- dba_insert()
- dba_replace()
- dba_fetch()
- ibase_fetch_row()
- ibase_fetch_assoc()
- ibase_fetch_object()
- mssql_fetch_row()
- mssql_fetch_object()
- mssql_fetch_array()
- mssql_fetch_assoc()
- mysqli_fetch_row()
- mysqli_fetch_array()
- mysqli_fetch_assoc()
- mysqli_fetch_object()
- pg_fetch_row()
- pg_fetch_assoc()
- pg_fetch_array()
- pg_fetch_object()
- pg_fetch_all()
- pg_select()
- sybase_fetch_object()
- sybase_fetch_array()
- sybase_fetch_assoc()
- SplFileObject::fgets()
- SplFileObject::fgetcsv()
- SplFileObject::fwrite()
-
zend.enable_gc
bool -
Aktiviert bzw. deaktiviert die Speicherbereinigung zirkulär abhängiger Referenzen.