fastix®: PHP/mySQL unter LAMP "Fatal error: Allowed memory size..."

Beitrag lesen

Hallo,

Ja, Hallo!

mich ereilte kürzlich die folgende Fehlermeldung:

Fatal error: Allowed memory size of 16777216 bytes exhausted
(tried to allocate 328 bytes) in Unknown on line 0

Ursache ist ein zugegebenermaßen recht Performancelastiges PHP-Script welches munter allerlei mySQL-Querys stellt.

Hm. Also das schein allen Ernstes eine Überschreitung des Speicherlimits zu sein. PHP stellt die fest und giebt genau diese Fehlermeldung aus.

Die Häufung zu Zeiten, in denen vielen Zugriffe erfolgen ist schlicht gesetzmäßig.

Interessant wäre es zu wissen, welche sql- Abfrage das Problem verursacht: Genau dann werden unter Umständen riesengroße Arrays in PHP erzeugt, die zu diesem Fehler führen können.

Am besten, Du schreibst Dir die SQL- Abfragen vor dem Absenden in eine Datei und provozierts den Fehler. Dann kannst Du (manuell mit select into outfile) am MySQL- Prompt überprüfen, ob eventuell zu große Array's entstehen. Schau einfach mal auf die Größe der zurückgegenen Datenmenge.

fastix®