
Ich lerne etwas über Webhoster und wie man eine große Website erstellt (z. B. eine Lernplattform).
Ist das PHP-Speicherlimit ein „RAM-Speicher“ eines Servers (wie der RAM-Speicher meines Computers?) oder einfach eine Art verfügbarer Speicherplatz auf einer Festplatte?
Antwort1
Jedes Mal, wenn ein Client eine Anfrage an Ihren Webserver stellt und diese von PHP verarbeitet wird, wird ein PHP-Prozess gestartet.
Die Aufgabe dieses PHP-Prozesses besteht offensichtlich darin, HTML zu generieren, um es an den Client zurückzugeben – der PHP-Prozess stellt eine Laufzeit für ein PHP-Skript bereit, das genau dies tun soll.
Das Speicherlimit ist die maximale Speichermenge, die dieser Prozess verwenden kann. Wenn Sie es überschreiten, schlägt der Prozess fehl und Apache meldet einen HTTP 500-Fehler.
Wenn Ihr PHP-Skript einen Fehler enthält, beispielsweise eine Endlosschleife, die immer mehr RAM anfordert, ist dies im Grunde ein Bollwerk, das verhindern kann, dass der gesamte Server ausfällt.
Antwort2
Suchen Sie nach Ihren php.ini-Dateien und erhöhen Sie die definierten Speichergrenzen entsprechend Ihren Anforderungen. PHP begrenzt absichtlich die Menge an RAM, die PHP verwenden kann, damit ein Hacker nicht versuchen kann, Ihren gesamten Speicher zu verbrauchen und den Server zum Absturz zu bringen/einzufrieren/andere schlimme Dinge zu tun.
Hinweis: Um die Leistung aufrechtzuerhalten, geben Sie keine Werte ein, die größer als etwa 60 % Ihrer tatsächlichen Speichergröße sind.