mbr: Fatal error

Beitrag lesen

Hallo, Bernd

ich bekomme diese Meldung:

Fatal error: Allowed memory size of 16777216 bytes exhausted (tried to allocate 15763254 bytes) in /customers/domain.de/domain.de/httpd.www/libs/ez_sql_core.php on line 374

Ich vermute mal, das in der DB eine Datei abgelegt wurde, die das Speicherlimit überschreitet. Oder liege ich das falsch?

Wie finde ich diese Datei? Ich würde es gern löschen. Wie müsste eine Abfage dazu aussehen?

Wieso kommst du zu der Vermutung, dass in der Datenbank eine Datei "abgelegt" wurde? Für mich sieht das eher nach einem PHP-Fehler aus. Das Script versucht 15763254 Bytes an Speicher zu allozieren. Es hat insgesamt 16777216 Bytes zur Verfügung. Wenn es also vorher schon mindestens 1013963 (16777216 - 15763254 + 1) Bytes verbraucht hatte, wird es nicht mehr reichen. Es wäre gut, wenn du den Quellcode des Scripts zur Verfügung stelen könntest, sonst können wir nur raten, was das Script machen soll (und was es dann tatsächlich macht...).

Ich finde übrigens die Zahl 15763254 schon recht groß (fast 16 MB). Das müssen ja ziemliche Monster von Objekten sein, mit denen du arbeitest. Aus meiner - zugegebenerweise etwas begrenzter Erfahrung mit PHP kenne ich es eher, dass man zum Beispiel in einer Schleife Arrays füllt und sich PHP dann beklagt, dass es keine 17 oder 38 oder 51 Bytes mehr allozieren kann, weil das array einfach schon so riesig ist, dass die 16777216 bytes aufgebraucht sind. Sprich bei mir waren es immer eher kleinere Objekte (oder Arayelemente), die dann das Fass zum Überlaufen gebracht haben.

Liebe Grüße

mbr