Fehlermeldung bei meinem Script
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
arbeitsschritt
aufruf
beide
byte
datensatz
ecken
egel
fatal error
folgende fehlermeldung
gel
limit
memory
mindestens
result
schrank
schreiten
script
speicher
speicherplatz
zeile
-
Ich arbeite gerade an einem Script das Aktuelle Projekte ausgiebt, die ich
zurzeit bearbeite. Allerdings wird beim aufrufen des Scripts folgende Fehlermeldung ausgegeben:
Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 524288 bytes) in /home/webpages/lima-city/butzlumbejunky/html/content/projekte.php on line 18
Ih wei? aber nicht was meine Script mit 'memory' zu tun hat.
Hier ein Teil des Scripts:
for($i=0; i<$max;$i++)
{
$sql[$i] = mysql_fetch_array($result); <--Zeile 18
}
echo "<br><br><center><font face=Arial><font size=+2><b>" . $project[0] . ":</b></font></center><br>";
for($l=1;$l< count($sql); $l++)
{
if($sql[$l][aktuell]==1)
{
echo "<center><font size=+1><a href='index.php?site=Projekte&id=" . $sql[$l][id] . "&lang=" . $lang . "'>" . $sql[$l][name] . "</a></center><br>";
} -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Dein Script verbraucht zu viel Traffic.
Es gibt eine Schranke bei 8388608 bytes, die du mit deinem Script erreicht hast...
H2O -
Moin,
ich lese aber kaum was aus.
Das sind vllt wenns Hoch kommt 250 Zeichen.
Meine Seite hat nochmal 20KB und wenn das Limit bei genau 8MB liegt
d?rfte es da doch keine Probleme geben?!? -
Es geht nicht um Traffic sondern um Speicher.
Du liest erst die ganzen Sachen aus der DB in ein Array ein und bearbeitetst dann das Array. Mach beides in einem Schritt. Also eine Zeile aus der DB holen und die ?berpr?fung "if($sql[$l][aktuell]==1)" und die nachfolgende Aktion gleich danach machen. Danach halt die n?chste Zeile aus der DB holen. mysql_fetch_array() verbraucht auch eine ganze Ecke mehr (mindestens doppelt so viel) Speicherplatz als mysql_fetch_row(). Kannst du aber trotzdem benutzen, wenn du halt nicht erst alles in das Array reinknallst, sondern jeden Datensatz gleich auswertest. -
Danke jetzt habe ich es hinbekommen.
Verstanden habe ich zwar noch nicht ganz,
weil es in anderen Scripts gefunzt hat...aber egel. -
Jeder Arbeitsschritt braucht eben seinen Speicher.
Je weniger Arbeitsschritte, desto schneller ist die Seite (warscheinlich) auch geladen...
Aber es gibt eben eine Schranke, damit ein User hier auf lima nicht s?mtlichen Speicherplatz verbraucht.
H2O -
butzlumbejunky schrieb:
Verstanden habe ich zwar noch nicht ganz,
weil es in anderen Scripts gefunzt hat...aber egel.
Es mag daran liegen, dass du viele Eintr?ge in der DB bzw. Tabelle hast oder das der Wert $max falsch gesetzt ist.
Prob gel?st -> Close -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage