Christian Kruse: PHP Curl memory Fehler

Beitrag lesen

Hallo Jo,

Wenn die Daten zu groß werden kommt es manchmal zu folgender Fehlermeldung (auf die Zeile $data = curl_exec($ch); ):

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 133961509 bytes) in

Das Memory Limit in der PHP.ini will ich nicht ändern, wie kann ich das abfangen und den Fehler sauber behandeln?

Die kurze Antwort: gar nicht.

Die lange Antwort: PHP stellt keine konventionellen Mittel zur Verfügung, um fatal errors abzufangen, weil sie nicht möchten, dass die abgefangen werden. Das einzige, was du tun kannst, ist einen Shutdown-Handler zu registrieren und dort zu prüfen, ob ein Fehler vorliegt:

register_shutdown_function("my_shutdown_handler");

function my_shutdown_handler() {
  $error = error_get_last();

  if($error !== NULL) {
    // tu was
  }
}

LG,
CK