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
- Große Datenmengen mit chunk oder lazy verarbeiten statt alles auf einmal zu laden.
- Rechenintensive Arbeit in einen Queue-Job auslagern.
- 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.