Fehler „Zulässige Speichergröße von erschöpft“ kann es zu einer Diskrepanz zwischen dem von PHPEcho gemeldeten Speicherlimit und dem tatsächlich verfügbaren Speicher kommen. Dies liegt daran, dass die PHP-Konfiguration an verschiedenen Orten festgelegt werden kann, darunter:
Systemweite php.ini-Datei
Apache-Konfigurationsdateien (.conf)- CLI oder CGI-spezifische php.ini-Datei
- Lokale .htaccess-Dateien
- Im Skript (via ini_set())
-
- In der Ausgabe von PHPInfo stellt der angezeigte Wert „Master“ das standardmäßige kompilierte Speicherlimit dar, während der „Lokale“ Wert das tatsächliche aktive Speicherlimit widerspiegelt. Dies kann an jeder der oben genannten Stellen überschrieben werden.
Darüber hinaus unterscheidet PHP zwischen Befehlszeilen- und Webserver-basierten Vorgängen. Das Ausführen von phpinfo() über die Befehlszeile kann zu anderen Speichergrenzwerten führen als bei der Ausführung in einem webbasierten Skript.
Um den Speicherauslastungsfehler zu beheben, identifizieren und ändern Sie die widersprüchlichen Speichergrenzeinstellungen in der entsprechenden Konfiguration Datei(en) oder PHP-Skript(s). Dies kann mithilfe von php -i | ermittelt werden grep-Befehl „memory_limit“, um die CLI-Konfiguration anzuzeigen.
Das obige ist der detaillierte Inhalt vonWarum unterscheidet sich das Speicherlimit von PHP zwischen CLI und Webserver?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!