Hallo,
Vom Apachen. Und das von PHP?
Das von PHP wäre das:
[Sat Sep 03 08:28:47 2011] [warn] [client 83.216.237.188] mod_fcgid: stderr: ALERT - script tried to increase memory_limit to 1073741824 bytes which is above the allowed value (attacker '**.***.***.***', file '/var/www/web2561/html/diamonddog/download2.php', line 47)
so, dir geht also der Speicher aus. Das ist aber mit dem Code, den du gezeigt hast, nicht zu erklären. In der Schleife liest du ja immer nur Blöcke von 8kB in einen internen Puffer und gibst sie sofort wieder aus, ohne sie in einer Variablen zu speichern (etwas anderes macht readfile() übrigens auch nicht, es verwendet AFAIR sogar dieselbe Blockgröße).
Was also steht in deinem Script in Zeile 47?
Was aderes hab ich im errorlog nicht gefunden und dies bezieht sich auf das:
ini_set('memory_limit','1024M');
Nein. Damit legst du nur die Obergrenze für den nutzbaren Arbeitsspeicher fest. Die Überschreitung dieser Grenze findet woanders statt.
Was erzählte eine Suchmaschine, als du sie nach diesen Meldungen befragtest?
Das das ein Serverproblem sein soll, so wie ich das gelesens habe.
Eher weniger, würde ich annehmen.
Wozu brauchst du 1G Speicher?
Hatte irgendwo gelesen das große Files mehr Speicher benötigen würden.
Wenn man sie komplett in den Arbeitsspeicher laden will, ja. Aber das willst du doch wohl nicht, oder?
Was gefiel dir denn an readfile() nicht?
Habe erst mit readfile gearbeitet aber dort mit dem selben Ergbniss, hatte dann einwenig rumgesucht und bin auf ein Script gestoßen und hatte dies dann mal zum testen genommen, leider mit dem selben Ergeniss.
Übrigens, deine s-Taste prellt anscheinend. Jedenfalls wenn sie direkt nach i betätigt wird.
Ciao,
Martin
Zivilisation bedeutet, dass die Eskimos warme Wohnungen bekommen und dann arbeiten müssen, damit sie sich einen Kühlschrank leisten können.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(