Laufzeit-Konfiguration

Das Verhalten dieser Funktionen wird durch Einstellungen in der php.ini beeinflusst.

Konfigurationsoptionen für PHP Optionen/Info
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_SYSTEM|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.
Weitere Details und die Definitionen der PHP_INI_*-Konstanten finden Sie im Wo Konfigurationseinstellungen gesetzt werden können.

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.

assert.exception boolean

Erzeugt eine AssertionError Exception für die fehlgeschlagene Assertion.

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 Zeitmessung beginnt sobald PHP auf dem Server aufgerufen wird, und endet wenn die Ausführung beginnt. Der Standardwert ist -1, was bedeutet, dass statt dessen max_execution_time verwendet wird. Der Wert 0 bedeutet kein Zeitlimit.

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 (dieses Limit wird auf die superglobalen $_GET, $_POST und $_COOKIE separat angewandt). 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.

magic_quotes_gpc boolean
Warnung

Dieses Feature wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und ist seit PHP 5.4.0 ENTFERNT (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:

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
Warnung

Dieses Feature wurde in PHP 5.3.0 als DEPRECATED (veraltet) markiert und ist seit PHP 5.4.0 ENTFERNT (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.