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.
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>
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.
<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.
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!