• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Allowed Memory Exhausted??

die ganzen zahlenmanipulationen fressen deinen speicher nicht, wenn du das limit auf 128 mb gesetzt hast und es immer noch platzt können im grunde nur deine graphiken das problem verursachen. Malst du evtl. mehrere bilder hintereinander und vergisst zwischendrin die fertigen graphen aus dem speicher zu löschen?

hier noch ein kleiner helfer fürs debuggen: PHP: memory_get_usage - Manual
 
Hmm, schaffs irgendwie nicht mir das ding ausgeben zu lassen. Hab versuhct das ding in ne variable zu speichern, also den wert von memory_get_usage in ne variable zu speichern und ins log zu packen, kam nix. Dann wollt ichs mir direkt ausgeben lassen, quasi als response vom request, kam auch nur die Meldung zurück.

Könnte das daran liegen?

Decision a memory_get_usage problem for windows system

Tested OS: Windows XP
Server: Apache

PHP must be loaded as CGI to get correctly memory usage by Process ID ( getmypid() ) and with cmd-tools like tasklist.exe

PHP as CGI have your own PID instead constant Apache PID and you get a true memory size independed form Apache memory usage.

Habe aber mal den TaskManager offen gehabt und tatsächlich, die CPU Last ging sprungartig auf 100 und die speicherauslastung stieg von 616MB auf 745MB an.

Aber irgendwie muss es an der resize.php liegen, denn ich habe ja noch andere Module, um andere Diagramme zu generieren, da kann ich richtig heftig was reinpacken, nen Balkendiagramm mit über 200 Balken, ist demenntsprechend groß die Grafik, nix mit Speicherproblem.
 
Zuletzt bearbeitet:
Habe den Fehler gefunden, vllt. seht ihrs jetzt ja auch :D

PHP:
for ($i = 0; i <= $Multiplikator;) {
            $comparedLength[$zaehlen] = $length[$i] + $length[$i+1] + $length[$i+2];
            $i = $i+3;
            $zaehlen++;
        }


for ($i = 0; $i <= 100; $i++) {
echo "Ich hasse programmieren";
}
 
Oh - hat etwas gedauert bei mir.
Aber wieso schmeißt dir da dein PHP keine Warnung raus? Bei der Entwicklung würde ich mir immer alle Warnungen/Fehler anzeigen lassen.
Dann meckert er bei so etwas sofort.

War also doch eine Endlosschleife.
 
Ja, eine Endlosschleife die permanent neuen Speicher anfordert. Die aber unter normalen Bedingungen nie durchlaufen dürfte, da das Array @length ja irgendwann zu Ende sein muss und jeder normale Interpreter das auch meldet sollte. Insofern lang es in erster Linie an der schlampigen Entwicklung (wie von kkaspner schon angedeutet)
 
Der Code sieht generell nicht sehr schön aus. Viel zu viele Verschachtelungen und ähnliche Codeabschnitte. Ich würde mal versuchen die Forschleife in eine eigene Funktion zu ziehen und dann mit den entsprechenden Parametern aufzurufen. PHP kennt übrigens auch ein "else if". Ist letzendlich das Gleiche sieht aber etwas übersichtlicher aus.
 
Ja, ich weiß. Es sei mir verziehen, habe noch nicht viel Erfahrung in.... eigentlich allem was mit dem Projekt zu tun hatte. Habe im Januar zum ersten mal was damit gemacht, von daher muss ich halt noch viel lernen, auch die ganzen Tipps und Tricks die mir die entwicklung leichter machen.

Aber trotzdem nochmal großes Dankeschön an euch alle dass ihr euch damit befasst habt und mir geholfen habt.
 
Zurück
Oben