SteelWheel
New member
Hallo jswelt'ler,
ich habe hier eine XAMPP Installation und bin da auch sehr zufrieden mit. Aufgrund einer Unterhaltung im Skype habe ich mir ein Script gezimmert, was Zahlen von 1 bis N analysieren soll und die Primzahlen mitmeißeln darf. Klappt alles und ist auch keine Script- oder Verständnisfrage.
Ein Beinbruch wird es, wenn N größer wird! Für die Analyse von 1 bis 1.000.000 (Punkt als Lesehilfe) sind das 1,4 Sekunden (inkl. Ausgabe aller Primzahlen) ... mir fliegt allerdings PHP um die Ohren, wenn ich 1 bis 100.000.000.000 probiere. Die bekannte Meldung bzgl. "Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 35 bytes) ..." ist die Folge.
Tjoar, schnell nachgeschlagen, in der php.ini geschaut und sehe, dass dort das Memory-Limit bereits auf 2048M steht - das scheint auch der höchstmögliche Wert zu sein für PHP. Allerdings - und das macht mich stutzig -: Die angezeigte Byte-Zahl der Fehlermeldung ist nicht wirklich deckungsgleich mit der Vorgabe.
Der Versuch es mit ini_sets "memory limit" vorab zu definieren, endet exakt genauso.
Mit ein wenig Googlen kam ich auf "-1", um das Limit zu deaktivieren. Es ändert sich nichts ... eine Fehlermeldung (sehr schnell sogar; nur die Bytes weichen ab). Hmmm ...
Ich habe es dann in der Shell (aka Dosbox) probiert - ist ein reines PHP-Problemchen (nicht über XAMPP jetzt mittelbar).
Meine Suche nach einem "oberen, aber internen Limit" für PHP ergab nur, dass es eine physische Antwort ist, die die Hardware (Speicher) vorgibt (was ich in erster Linie merkwürdig finde - ist PHP x64 kompatibel?). Die Antwort ist aber auch nicht hilfreich, da das System hier eigentlich genügend Hauptspeicher (32GB) hat, das Script aber nicht darauf zurückgreifen kann (bei Bedarf).
Eine Anhöhung auf bspw. 4096M lässt XAMPP (aka Apache) bspw. gar nicht mehr starten.
Weiß jemand mehr? Schraube ich an der falschen Stelle? Wie kann ich für mein Script mehr Speicher zur Verfügung stellen? Es ist nur eine Spielerei - keine Hausaufgabe oder schlimmer.
Bereits jetzt schon vorab vielen Dank für mögliche Hilfestellungen.
Beste Grüße
ich habe hier eine XAMPP Installation und bin da auch sehr zufrieden mit. Aufgrund einer Unterhaltung im Skype habe ich mir ein Script gezimmert, was Zahlen von 1 bis N analysieren soll und die Primzahlen mitmeißeln darf. Klappt alles und ist auch keine Script- oder Verständnisfrage.
Ein Beinbruch wird es, wenn N größer wird! Für die Analyse von 1 bis 1.000.000 (Punkt als Lesehilfe) sind das 1,4 Sekunden (inkl. Ausgabe aller Primzahlen) ... mir fliegt allerdings PHP um die Ohren, wenn ich 1 bis 100.000.000.000 probiere. Die bekannte Meldung bzgl. "Fatal error: Allowed memory size of 262144 bytes exhausted (tried to allocate 35 bytes) ..." ist die Folge.
Tjoar, schnell nachgeschlagen, in der php.ini geschaut und sehe, dass dort das Memory-Limit bereits auf 2048M steht - das scheint auch der höchstmögliche Wert zu sein für PHP. Allerdings - und das macht mich stutzig -: Die angezeigte Byte-Zahl der Fehlermeldung ist nicht wirklich deckungsgleich mit der Vorgabe.
Der Versuch es mit ini_sets "memory limit" vorab zu definieren, endet exakt genauso.
Mit ein wenig Googlen kam ich auf "-1", um das Limit zu deaktivieren. Es ändert sich nichts ... eine Fehlermeldung (sehr schnell sogar; nur die Bytes weichen ab). Hmmm ...
Ich habe es dann in der Shell (aka Dosbox) probiert - ist ein reines PHP-Problemchen (nicht über XAMPP jetzt mittelbar).
Meine Suche nach einem "oberen, aber internen Limit" für PHP ergab nur, dass es eine physische Antwort ist, die die Hardware (Speicher) vorgibt (was ich in erster Linie merkwürdig finde - ist PHP x64 kompatibel?). Die Antwort ist aber auch nicht hilfreich, da das System hier eigentlich genügend Hauptspeicher (32GB) hat, das Script aber nicht darauf zurückgreifen kann (bei Bedarf).
Eine Anhöhung auf bspw. 4096M lässt XAMPP (aka Apache) bspw. gar nicht mehr starten.
Weiß jemand mehr? Schraube ich an der falschen Stelle? Wie kann ich für mein Script mehr Speicher zur Verfügung stellen? Es ist nur eine Spielerei - keine Hausaufgabe oder schlimmer.
Bereits jetzt schon vorab vielen Dank für mögliche Hilfestellungen.
Beste Grüße