Tach!
Ich habe Rolf so verstanden, dass man in der PHP-Konfiguration auch max. Speichergrößen einstellen kann, die der darunterliegende Host gar nicht unterützen kann. Das ergibt jetzt mehrere Fragen:
- könnntest Du bitte auf deinem Frischling mal ausprobieren, ob das stimmt?
Warum nicht? Speicherverwaltung findet heutzuage durchaus dynamisch statt. Du kannst nicht immer abfragen, wieviel Speicher dir das System zur Verfügung zu stellen gewillt ist. Neben Auslagerungsdateien gibt es im VM-Bereich auch ein Feature namens Dynamic Memory.
- Kennst Du schon eine Möglichkeit, das in PHP selbst ("objektorientiert") abzufangen? Eine solche Konfigurationsmöglichkeit muss auf jeden Fall unterbunden werden!
Verstehe ich grad nicht richtig. Einfach das memory_limit in Ruhe lassen. Wer soll da was regeln, wenn der Programmierer sowohl derjenige ist, der das Memory-Limit ändern kann, als auch die Änderung überwachen soll?
- Wie sollte man generell bei jedem PHP-Scriptstart den verfügbaren Speicher erfragen und bei Mangel darauf reagieren?
Generell ist da nichts nötig. Die meisten Anwendungsfälle nutzen den zur Verfügung stehenden Speicher nicht aus. Lediglich bei Aufgabenstellungen mit erhöhtem Speicherbedarf braucht man sich Gedanken dazu zu machen. Feinplanen kann man das sowieso nicht, weil du nicht wissen kannst, wieviel Speicher die jeweiligen Operationen benötigen. Du kannst das Memoy-Limit nur nach Gefühl und empirisch einstellen. Also, eigentlich kannst du schon die C-Quellen von PHP bezüglich Speicherverbrauch analysieren, aber solch ein Aufwand lohnt sich überhaupt nicht.
dedlfix.