0.9.9 - Export CMDB - PHP Fatal error: Allowed memory size of 134217728 bytes
-
Ich versuche gerade meine komplette CMDB zu exportieren (Hintergrund: Import in eine neu erstellte 0.9.9-Datenbank um einen sauberen Datenbankstand zu bekommen).
Ein Export von Files, Object Pictures (und unnötig Logbook) ist nicht möglich, da hier zuviel PHP-Speicher benötigt wird:
PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 82388713 bytes) in i-doit/src/classes/modules/isys_module_export.class.php on line 197,
Den PHP-Speicher kann ich nicht unendlich erweitern - kann da in den PHP-Routinen was geändert werden?
-
Hallo,
was heisst du kannst den Speicher nicht unendlich erweitern? Hast du es mal mit mehr als 128MB probiert?
Lieben Gruß
-
Danke für den freundlichen Hinweis.
-
Hat es dir denn was geholfen? Bzw weißt du wo du den Eintrag ändern musst?
Ich schreibe es vorsorglich mal, falls wer anders auf den Thread stoßen sollte.
Bei einem XAMPP-Paket findet man den Eintrag wie folgend in der Datei php.ini :
Laufwerk :\xampp\php\php.ini an der Stelle "memory_limit = xxxM"
Dort sollte man dann den Wert (vorher den Apache stoppen) zB auf 256M hochsetzen und dann den Apache starten.
Gerne kannst du uns auch berichten ob es was gebracht hat.
Lieben Gruß
-
Ja, es hat geholfen, das memory-limit auf 512M zu setzen (256M haben auch nicht gereicht).
Ein Problem hat die Routine trotz alledem, da es nicht wirklich sein kann, dass > 256M benötigt werden um eine Zieldatei von 19,6 MB zu schreiben (größer ist der Export nicht). -
Wieso kann das nicht wirklich sein? Die Verarbeitung ist extrem aufwändig, siehe gängige XML-Parser.
-
Dann vielleicht mal die Zeilen in der index.php entsprechend auf realistischere Werte anpassen. Hier setzt ihr 32M voraus.
if (intval(ini_get("memory_limit")) < 32) {
ini_set("memory_limit", "32M");
}Wobei das für die normalen Tätigkeiten wohl ausreichend ist.
Alternativ vielleicht in den import/export-Routinen das vorausgesetzte Memory-Limit gleich auf 256M hochsetzen.