2012-03-30 12 views
2

Ich habe keine Ahnung, warum oder wie dies kam, aber aus irgendeinem seltsamen Grund PHP-Skripte auf meinem Server, sobald sie ini_set versuchen, die memory_limit Einstellung zu beeinflussen, verursachen das Skript völlig zusammenbrechen. Keine Fehlermeldungen, nichts. Wenn ich das Skript über den Browser aufrufen, ist alles, was ich bekomme, eine leere Seite.ini_set ('memory_limit') verursacht PHP Absturz

Hinweise dazu?

Update:

'frei' läuft zurück

  total  used  free  shared buffers  cached 
Mem:  8190820 7922056  268764   0  565124 6598656 
-/+ buffers/cache:  758276 7432544 
Swap:  2102456   0 2102456 

Ist mein Gedächtnis etwas hogging?

ps aux läuft | grep Apache geben mir 'ERROR: Nicht unterstützte Option (BSD-Syntax)'

Überprüfung manuell fand ich eine ganze Reihe von Linien beziehen zu:

/usr/sbin/apache2 -k start 

Alles über 0,3% bei Speichernutzung und gehört zu 'www-data'.

Der gruselige Teil ist, dass keiner der von 'ps aux' aufgelisteten Prozesse mehr als 0,8% des Speichers belegt. Und wenn ich alle aufgelisteten Prozentsätze addiere, komme ich nie zu dem Punkt, an dem ich nach dem, was 'frei' mir sagt, sollte.

+0

, wie viel Speicher benötigen Sie? –

+0

Stellen Sie sicher, dass 'ini_set' nicht deaktiviert ist. – Maerlyn

+0

Nichts wesentlich, aber auch nichts Spezifisches. Aber es ist egal, ob es 10M oder 100M ist. In jedem Fall ist mein memory_limit (Serverweit) auf 4096M eingestellt - ich weiß, das ist ziemlich brutal, aber es sollte kein Problem sein, oder? – SquareCat

Antwort

0

Ich erinnere mich, dass es ein Problem mit der Anforderung von etwas über 2 GB gibt. Ich denke, 2GB ist die magische Grenze in zumindest einigen Versionen von PHP.

+0

Ich glaube nicht, ist PHP verwandt, mehr wie ein Server hat RAM Ressource begrenzt, die Benutzer, die den Prozess (Web oder CLI) ausführen – ajreal

+0

Ich glaube nicht, dass dies der Fall ist, weil der Fehler tritt unabhängig von der Größe des Speichers auf, der zugewiesen wird. Eine andere Sache, die ich bemerkte, ist, dass bei einigen Anfragen ich einen "Verbindung zurücksetzen" -Fehler vom Server bekommen werde. – SquareCat

0

versuchen, mit diesem Code:

ini_set('memory_limit', '-1'); 
Verwandte Themen