Tom: Fatal error: Allowed memory size

Beitrag lesen

Hello,

was hat eigentlich "tried to allocate 148 bytes" in der fehlermeldung zu bedeuten?
besonders 148 Bytes ist mir nun ins auge gefallen am anfang war die zahl niedriger und je mehr unsets ich einbaue desto höher steigt sie, aber ich weiss schon jetzt nicht mehr wo ich noch welche einbauen kann.

sehe ich da wie nah ich am ziel bin bzw. von der fehlermeldung wegkomme?

"Habe versucht, 148 Bytes zu reservieren"

Unter Speicher-Allokation versteht man die Anforderung von Hauptspeicher vom Betriebssystem oder auch innerhalb eines selbstverwalteten internen Speicherbereichs eines Programms. Je nach OS und Strategie werd die "Häppchen" dann 16Byte-weise oder 64-byte-weise o.ä. zugeteilt. Innerhalb der zugeteilten Blöcke kann das System dann wieder selbst unterteilen.

PHP unterstützt eine dynamische Speicherzuordnung. Die typisch zugewiesenen 10M besorgt sich PHP pro Script von Haus aus beim OS und verteilt die dann intern. Wenn man also 50 Nutzerscripte gleichzeitig laufen hat, sind dafür 500M Speicher zusätzlich erforderlich.

Nun zur Fehlersuche:
Benutze die Funktion http://de.php.net/manual/de/function.memory-get-usage.php

Bau an verschiedenen Stellen in deinem Script ein:

http://de.php.net/manual/de/function.error-log.php

int error_log ( "Checkpoint xy: ".memory_get_usage(),3,"/pfad_zur_datei/datei");

Dann musst Du allerdings darauf achten, dass Die das Log nicht vollgeschrieben wird. Ich vermute ja eine Endlosschleife, Rekursion oder sonstigen zyklischen Verlauf...

Beschreib doch mal, was Dein Script so machen sollte. Dann kommen wir vielleicht noch auf bessere Ideen,

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen