Fehler-Lösung

PHP Fatal error: Allowed memory size exhausted beheben

Das Script hat das Limit memory_limit überschritten. 134217728 Bytes entsprechen 128 MB.

Die Fehlermeldung

PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes)

Mögliche Ursachen

  • Zu viele Datensätze auf einmal geladen. Ein get() oder all() über eine große Tabelle lädt jedes Ergebnis in den Speicher.
  • Endlosschleife oder Rekursion. Ein Fehler in der Logik füllt den Speicher unbegrenzt.
  • Limit zu niedrig für den Zweck. Bilder verarbeiten oder große Exporte erzeugen braucht mehr Speicher als ein normaler Request.

Lösung

  1. Große Datenmengen mit chunk oder lazy verarbeiten statt alles auf einmal zu laden.
  2. Rechenintensive Arbeit in einen Queue-Job auslagern.
  3. Als Notlösung memory_limit in der php.ini des betroffenen SAPI (FPM oder CLI) erhöhen und den Dienst neu laden.

In Blöcken verarbeiten

DB::table('users')->orderBy('id')->chunk(100, function ($users) {
    foreach ($users as $user) {
        // ...
    }
});

Quelle: PHP-Handbuch: memory_limit; Laravel 12.x: Query Builder (Chunking) · Stand: 2026-10-09

Verwandte Fehler

Fehler bleibt bestehen?

Ich schaue mir Ihr Laravel-Projekt an und sage Ihnen ehrlich, woran es liegt. Kostenloses 30-Minuten-Gespräch.