CakeFest 2025 Madrid: The Official CakePHP Conference

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" INI_ALL Seit PHP 8.3.0 veraltet.
assert.bail "0" INI_ALL Seit PHP 8.3.0 veraltet.
assert.warning "1" INI_ALL Seit PHP 8.3.0 veraltet.
assert.callback NULL INI_ALL Seit PHP 8.3.0 veraltet.
assert.quiet_eval "0" INI_ALL Entfernt in PHP 8.0.0
assert.exception "1" INI_ALL Vor PHP 8.0.0 war der Standardwert "0" Seit PHP 8.3.0 veraltet.
enable_dl "1" INI_SYSTEM Dieses veraltete Feature wird in der Zukunft sicherlich entfernt.
max_execution_time "30" INI_ALL  
max_input_time "-1" INI_PERDIR  
max_input_nesting_level "64" INI_PERDIR  
max_input_vars 1000 INI_PERDIR  
zend.enable_gc "1" INI_ALL  
zend.max_allowed_stack_size "0" INI_SYSTEM Verfügbar seit PHP 8.3.0.
zend.reserved_stack_size "0" INI_SYSTEM Verfügbar seit PHP 8.3.0.
fiber.stack_size   INI_ALL Verfügbar seit PHP 8.1.0.
Weitere Details und die Definitionen der INI_*-Konstanten sind unter Wo Konfigurationseinstellungen gesetzt werden können zu finden.

Hier eine kurze Erklärung der Konfigurationsoptionen:

assert.active bool

Aktiviert die assert()-Auswertung. Um das Verhalten von assert() zu kontrollieren, sollte stattdessen zend.assertions verwendet werden.

Warnung

Dieses Feature ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieses Features wird dringend abgeraten.

assert.bail bool

Beendet bei fehlgeschlagener Assertion die Ausführung eines Skripts.

Warnung

Dieses Feature ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieses Features wird dringend abgeraten.

assert.warning bool

Erzeugt bei jeder fehlgeschlagenen Assertion eine PHP-Warnung.

Warnung

Dieses Feature ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieses Features wird dringend abgeraten.

assert.callback string

Eine benutzerdefinierte Funktion, die bei fehlgeschlagenen Assertions ausgeführt wird.

Warnung

Dieses Feature ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieses Features wird dringend abgeraten.

assert.quiet_eval bool
Warnung

Dieses Feature wurde in PHP 8.0.0 ENTFERNT.

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.

Warnung

Dieses Feature ist seit PHP 8.3.0 als DEPRECATED (veraltet) markiert. Von der Verwendung dieses Features wird dringend abgeraten.

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 Standardwert 0.

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 Wert 0 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.

zend.enable_gc bool

Aktiviert bzw. deaktiviert die Speicherbereinigung zirkulär abhängiger Referenzen.

zend.max_allowed_stack_size int

Der maximale native Stack-Speicherplatz, die das Betriebssystem dem Programm zugesteht. Der Versuch, mehr zu verbrauchen, führt typischerweise zu einem harten Absturz ohne leicht verfügbare Debugging-Informationen. Um die Fehlersuche zu erleichtern, löst die Engine einen Error aus, bevor es zu dem Absturz kommt (wenn das Programm mehr als zend.max_allowed_stack_size-zend.reserved_stack_size Bytes des Stacks verwendet).

Rekursive Aufrufe im benutzerdefinierten Code verbrauchen keinen nativen Stack-Speicher. Bei internen Funktionen und magischen Methoden ist dies jedoch der Fall. Eine sehr tiefe Rekursion, die diese Funktionen einbezieht, kann dazu führen, dass der gesamte verfügbare native Stack-Speicher aufgebraucht wird.

Mögliche Werte für diesen Parameter sind:

  • 0: Automatische Erkennung des maximalen nativen Stack-Speicherplatzes, den das Betriebssystem für das Programm zulässt. Dies ist die Standardeinstellung. Wenn die Erkennung nicht möglich ist, wird eine bekannte Systemvorgabe verwendet.
  • -1: Deaktiviert die Überprüfung der Größe des Stacks in der Engine.
  • Positive Ganzzahl: Eine feste Größe, in Bytes. Wird dieser Wert zu hoch eingestellt, hat dies den gleichen Effekt wie die Deaktivierung der Überprüfung der Stackgröße.

Da die Größe des Stacks von Fibers durch fiber.stack_size bestimmt wird, wird der Wert dieses Parameters anstelle von zend.max_allowed_stack_size verwendet, wenn die Stack-Nutzung während der Ausführung einer Fiber überprüft wird.

Hinweis:

Dies hat nichts mit Stack-Pufferüberläufen zu tun und stellt kein Sicherheitsfeature dar.

zend.reserved_stack_size int

Die reservierte Größe des Stacks, in Bytes. Diese wird als Puffer von der maximal erlaubten Größe des Stacks subtrahiert, wenn die Größe des Stacks überprüft wird.

Mögliche Werte für diesen Parameter sind:

  • Automatische Erkennung einer sinnvollen Größe.
  • Positive Ganzzahl: Eine feste Größe, in Bytes.

fiber.stack_size int

Die native Größe des Stacks, die für jede Fiber zugewiesen wird, in Bytes.

Bei Systemen mit einer Zeigergröße von weniger als 8 Byte beträgt der Standardwert 1MiB, ansonsten 2MiB.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top