2017-04-03 4 views
1

Ich habe die Prüfung wurde Charts in TeeChart für PHP Erstellen einer while-Schleife mit mehreren Diagrammen über eine Funktion zu erstellen:PHP TeeChart Speicherverbrauch

while() { 
    create_my_chart(); 
} 

Nach 14 Wiederholungen dieses ich die folgende Fehlermeldung erhalten:

"Fatal error: erlaubt Speichergröße von 67108864 Bytes erschöpft (versuchte 800 Bytes zuzuteilen) in TChart \ sources \ GraphicsGD.php auf der Leitung 602"

Dies bedeutet, dass nicht TeeChart Speicher korrekt zu befreien, aber ich überlegte Wenn ich irgendetwas dagegen tun kann ?

+0

Für 'TeeChart nicht Speicher correctly' befreien, einen Fehlerbericht schreiben und es ihnen schicken. Es ist eine bezahlte Verlängerung !! – JustOnUnderMillions

+0

Bitte vereinbaren Sie ein [einfaches Beispiel] (http://stackoverflow.com/help/mcve) wir können hier laufen wie es ist. – Yeray

+0

@Yeray Für teeChart sind nur Frei-Trails verfügbar. Du musst dafür bezahlen. – JustOnUnderMillions

Antwort

0

Ihr zulässiger Speicherverbrauch scheint nur 64 MB zu betragen. Das ist sehr klein! Ändern Sie es in php.ini oder ini_set('memory_limit','1G') im Skript, um 1 GB Speicher zu ermöglichen. Und nochmal testen.

http://php.net/manual/en/ini.core.php#ini.memory-limit

+0

Ich habe das versucht, aber es scheint keine Wirkung gehabt zu haben. Ich wiederholte memory_get_usage durch jede Iteration mit den folgenden Ergebnissen: 12072208, 18087936, 21757952, 25427968, 29097984, 32768000, 36438016, 39845888, 43778048, 47448064, 51118080, 54788096, 58458112, 62128128, 65798144 , die ich angedeutet denke etwas wird nicht von teechart befreit. – KDavies

+0

@KDavies Probieren Sie 'gc_enable()' vor der while und nach der Funktion 'gc_collect_cycles()' in der while. Wenn das nicht funktioniert, schreibe einen Fehlerbericht. Sie können auch in den Fehler Teil und 'Unset()' Varaibles gehen, die nicht mehr in GraphicsGD.php benötigt werden. – JustOnUnderMillions

+0

Ich habe die gf_enable() und gc_collect_cycles() hinzugefügt, die keinen Unterschied machten, ich werde GraphicsGD ansehen und zurückmelden. Danke für den Vorschlag. – KDavies