Heim  >  Artikel  >  Backend-Entwicklung  >  So behandeln Sie den Fehler „Zulässige Speichergröße erschöpft“ in PHP mit minimaler Unterbrechung

So behandeln Sie den Fehler „Zulässige Speichergröße erschöpft“ in PHP mit minimaler Unterbrechung

Patricia Arquette
Patricia ArquetteOriginal
2024-10-24 11:48:29327Durchsuche

How to Handle 'Allowed Memory Size Exhausted' Errors in PHP with Minimal Disruption

Behandlung von Fehlern „Zulässige Speichergröße erschöpft“ in PHP

Bei der Arbeit mit Skripten, die JSON-Antworten zurückgeben, kann das Auftreten des Fehlers „Zulässige Speichergröße erschöpft“ ein Problem darstellen . Um eine Erhöhung des Speicherlimits zu vermeiden, möchten Sie den Benutzer möglicherweise darüber informieren, dass seine Anfrage den Speicherschwellenwert überschritten hat.

Schwerwiegende Fehler abfangen

In PHP können Sie schwerwiegende Fehler wie den nicht direkt abfangen Erschöpfung der Speicherkapazität. Sie können jedoch die Funktion „register_shutdown_function“ verwenden, um einen Rückruf zu registrieren, der „error_get_last()“ überprüft.

<code class="php">register_shutdown_function(function() {
    $error = error_get_last();
    if ($error) {
        echo 'An error occurred: ' . $error['message'];
    }
});</code>

Fehlerausgabe verwalten

Um zu verhindern, dass der schwerwiegende Fehler das Skript zum Absturz bringt, müssen Sie den Fehler behandeln Ausgabe, die vom fehlerhaften Code generiert wird. Sie können den @-Operator verwenden (nicht empfohlen) oder ini_set('display_errors', false) festlegen.

Beispiel

<code class="php">ini_set('display_errors', false);
error_reporting(-1);

set_error_handler(function($code, $string, $file, $line){
    throw new ErrorException($string, null, $code, $file, $line);
});

register_shutdown_function(function() {
    $error = error_get_last();
    if ($error) {
        echo 'Memory limit exhausted. Please try reissuing the request with different parameters.';
    }
});</code>

Beim Ausführen dieses Skripts mit übermäßiger Speichernutzung wird das ausgegeben entsprechende Fehlermeldung, die den Benutzer darauf hinweist, Anpassungen vorzunehmen, um den Speicherverbrauch zu reduzieren.

Überlegungen

Halten Sie error_reporting() hoch, um sicherzustellen, dass andere Fehler weiterhin sichtbar sind. Erwägen Sie bei nicht schwerwiegenden Fehlern die Verwendung von set_error_handler() und ErrorException zur Fehlerbehandlung.

Das obige ist der detaillierte Inhalt vonSo behandeln Sie den Fehler „Zulässige Speichergröße erschöpft“ in PHP mit minimaler Unterbrechung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn