Heim > Backend-Entwicklung > PHP-Tutorial > Warum zeigt die PHP-Fehlermeldung „Erlaubte Speichergröße' einen anderen Wert an als der gemeldete „memory_limit' in phpinfo()?

Warum zeigt die PHP-Fehlermeldung „Erlaubte Speichergröße' einen anderen Wert an als der gemeldete „memory_limit' in phpinfo()?

Mary-Kate Olsen
Freigeben: 2024-11-07 10:26:02
Original
319 Leute haben es durchsucht

Why does PHP's

Fehlerbehebung „Zulässige Speichergröße von X Bytes erschöpft“

Wenn PHP einen Fehler mit der Meldung „Zulässige Speichergröße von „Es zeigt an, dass der zugewiesene Speicher sein Limit erreicht hat. Normalerweise überprüfen Sie PHPInfo und stellen fest, dass das gemeldete „memory_limit“ deutlich höher ist als der in der Fehlermeldung genannte Wert. Diese Diskrepanz kann auf die mehreren Konfigurationsquellen von PHP zurückgeführt werden.

Konfigurationsquellen:

PHPs Konfiguration kann über verschiedene Kanäle eingestellt werden:

  1. Mastersystem php.ini
  2. Apache-Konfiguration (httpd.conf oder standortspezifische .conf-Datei)
  3. CLI & CGI php.ini (überprüfen Sie mit „php -i | grep memory_limit“)
  4. Lokale .htaccess-Dateien
  5. Im Skript (über ini_set())

PHPInfo-Ausgabe:

In PHPInfo's In der Ausgabe stellt der „Master“-Wert den Standardwert dar, der während der PHP-Installation kompiliert wurde. Der Wert „Lokal“ spiegelt jedoch die tatsächliche effektive Konfiguration wider. Dieser Wert kann mit dem Standardwert übereinstimmen oder an einer der oben genannten Stellen angepasst werden.

CLI vs. Webserver:

Darüber hinaus verwendet PHP separate INI-Dateien für Befehls- und Line (CLI) und Webserver-Operationen. PHPInfo generiert unterschiedliche Werte, je nachdem, ob über die Befehlszeile oder ein webbasiertes Skript darauf zugegriffen wird.

Fehlerbehebung:

  1. Überprüfen Sie alle möglichen Konfigurationsquellen und Identifizieren Sie alle widersprüchlichen Einstellungen.
  2. Stellen Sie sicher, dass die richtige php.ini-Datei für den spezifischen Kontext (CLI oder Webserver) in Kraft ist.
  3. Überprüfen Sie mit ini_set(), ob im Skript Speicheranpassungen vorgenommen wurden.
  4. Schließen Sie potenzielle Speicherlecks oder übermäßigen Speicherverbrauch innerhalb des Anwendungscodes aus.
  5. Erwägen Sie bei Bedarf eine Erhöhung des „memory_limit“ in der entsprechenden Konfigurationsdatei.

Das obige ist der detaillierte Inhalt vonWarum zeigt die PHP-Fehlermeldung „Erlaubte Speichergröße' einen anderen Wert an als der gemeldete „memory_limit' in phpinfo()?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage