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 | |
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 | Verfügbar seit PHP 4.3.0. |
max_input_nesting_level | "64" | PHP_INI_SYSTEM|PHP_INI_PERDIR | Verfügbar ab PHP 4.4.8 und PHP 5.2.3. |
max_input_vars | 1000 | PHP_INI_PERDIR | Verfügbar seit PHP 5.3.9. |
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL ab PHP <= 4.2.3. 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 ab PHP 5.3.0. |
Hier eine kurze Erklärung der Konfigurationsoptionen:
assert.active
boolean
Aktiviert assert() Auswertung.
assert.bail
boolean
Beendet die Ausführung eines Skripts bei fehlgeschlagener Aussage.
assert.warning
boolean
Erzeugt ein PHP warning für jede fehlgeschlagene Aussage.
assert.callback
string
Benutzerdefinierte Funktion, die bei fehlgeschlagenen Aussagen ausgeführt wird.
assert.quiet_eval
boolean
Benutzt die aktuelle Einstellung von error_reporting() während der Überprüfung eines Ausdrucks einer Aussage. Ist diese Einstellung aktiviert, werden wähhrend der Überprüfung keine Fehler angezeigt (implizit error_reporting(0)). Falls deaktiviert, werden Fehler entsprechend der Einstellung von error_reporting() angezeigt.
enable_dl
boolean
Sie können das dynamische Laden von PHP Erweiterungen mittels dl() für virtuelle Server oder per Verzeichnis an- und abschalten.
Der Hauptgrund dynmisches Laden abzustellen sind Sicherheitsüberlegungen. Mit dynamischen Laden ist es möglich, alle open_basedir Einschränkungen zu umgehen. Standard ist es, dynamisches Laden zu erlauben, außer wenn Sie den Safe Mode benutzen. Im Safe Mode ist es nicht möglich dl() zu benutzen.
max_execution_time
integer
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 Vorgabewert 0.
Die maximale Ausführungszeit beeinhaltet keine Systemaufrufe, Streamoperationen, usw. Weitere Details finden Sie bei der set_time_limit() Funktion.
Bei aktiviertem Safe Mode können Sie diese Einstellung nicht mit ini_set() verändern. Die einzige Möglichkeit diese Beschränkung zu umgehen besteht darin, entweder den Safe Mode abzustellen, oder das Zeitlimit in der php.ini zu verändern.
Ihr Webbserver kann andere Timeout-Einstellungen haben die ebenfalls die PHP-Ausführung unterbrechen können. Apache verfügt über 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
integer
Legt die maximale Zeit in Sekunden fest, die ein Skript verbrauchen darf, um Eingabedaten (wie POST, GET und Dateiuploads) zu verarbeiten. Die Zeit wird gemessen, wenn die Daten auf dem Server empfangen bis zum Start der Skriptausführung.
max_input_nesting_level
integer
Legt die maximale Verschachtelungtiefe für Eingabevariablen (z.B. $_GET, $_POST ...) fest.
max_input_vars
integer
Wie viele Eingabe-Variablen maximal angenommen werden. Diese Direktive verhindert
die Nutzung von Hashtable Kollisionen für eine Denial of Service Attacke. Wenn
mehr Eingabe-Variablen gesendet werden, als mit dieser Direktive erlaubt, wird
ein Fehler der Stufe E_WARNING
geworfen und weitere
Eingabe-Variablen werden nicht angenommen. Dieses Limit wird für mehrdimensionale
Eingabe-Arrays für jede Nesting-Ebene einzeln berechnet.
magic_quotes_gpc
boolean
Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und 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 geschützt.
Hinweis:
PHP 4 werden auch $_ENV Variablen geschützt.
Hinweis:
Steht die Einstellung für magic_quotes_sybase ebenfalls auf ON, überschreibt diese magic_quotes_gpc komplett. Beide Einstellungen aktiviert bewirken, dass nur einzelne Anführungszeichen durch '' geschützt werden. Doppelte Anführungszeichen, Backslashes und NUL's werden nicht verändert und verbleiben im Originalzustand.
Siehe auch get_magic_quotes_gpc()
magic_quotes_runtime
boolean
Dieses Feature ist seit PHP 5.3.0 DEPRECATED (veraltet) und 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 geschützt zurückgeben.
Falls zusätzlich
magic_quotes_sybase auf on steht, werden einzelne
Anführungszeichen mit einem einzelnen Anführungszeichen statt einem
Backslash geschützt.
Funktionen die von magic_quotes_runtime
betroffen sind
(ohne die Funktionen aus PECL):
zend.enable_gc
boolean
Aktiviert bzw. deaktiviert die Speicherbereinigung zirkulär abhängiger Referenzen.