Beim Ausführen eines PHP-Programms tritt normalerweise der Fehler „Schwerwiegender Fehler: Zulässige Speichergröße von xxxxxx Bytes erschöpft“ auf. Dies bedeutet, dass das PHP-Skript zu viel Speicher verwendet und den vom System maximal zulässigen Speicher überschreitet.
Um dieses Problem zu lösen, müssen Sie zunächst prüfen, ob Ihr Programm zu viel Speicher zugewiesen hat. Wenn kein Problem mit dem Programm vorliegt, können Sie das Speicherlimit (memory_limit) von PHP mit den folgenden Methoden erhöhen.
Überprüfen Sie den Speichergrenzwert von PHP
Um diesen Wert zu überprüfen, müssen Sie eine leere PHP-Datei erstellen, z. B. view-php-info.php. Fügen Sie dann den folgenden Code ein.
<?php phpinfo(); ?>
Legen Sie dieses Skript auf Ihren Webserver und rufen Sie es in Ihrem Browser auf. Zu diesem Zeitpunkt können Sie die Informationen zu Ihrer PHP-Umgebungskonfiguration sehen, von denen ein Teil sich auf „memory_limit“ bezieht, wie unten gezeigt:
Hinweis: Sie können diese Methode verwenden Überprüfen Sie andere Parametereinstellungen von PHP, nicht nur „memory_limit“
Auf wie viel sollte „memory_limit“ eingestellt werden?
Dies hängt vollständig von den Anforderungen Ihrer Anwendung ab. Beispielsweise benötigt WordPress 32 MB, um den Kerncode auszuführen. Drupal 6 erfordert, dass dieser Wert mindestens 16 MB beträgt, und empfiehlt, ihn auf 32 MB festzulegen. Wenn Sie viele Plug-Ins installieren, insbesondere solche, die eine Bildverarbeitung erfordern, benötigen Sie möglicherweise 128 MB oder mehr Speicher.
So legen Sie das Speicherlimit fest
Methode 1: php.ini
Die einfachste oder gebräuchlichste Methode besteht darin, php.ini zu ändern
1) Zuerst suchen Die richtige Antwort für Sie: Die php.ini-Datei, die auf der Website wirksam wird. Da es mehrere Stellen gibt, an denen PHP-Parameter festgelegt werden können, ist das Finden der richtigen Konfigurationsdatei und das Vornehmen von Änderungen der erste Schritt. Wenn Sie mit der oben genannten Methode eine PHP-Datei erstellt haben, um deren Konfigurationsparameter anzuzeigen, finden Sie das Element „Geladene Konfigurationsdatei“. Das Folgende ist ein Beispiel:
Für Linux Benutzer können die entsprechende Konfigurationsdatei finden, indem sie „php -i | grep Loaded Configuration File“ ausführen. Für Windows-Benutzer können Sie versuchen, php.ini in Ihrem PHP-Installationsverzeichnis zu ändern.
2) Bearbeiten Sie php.ini. Suchen Sie in php.ini nach dem Element „memory_limit“. Wenn nicht, können Sie diesen Parameter selbst am Ende der Datei hinzufügen. Im Folgenden finden Sie einige Einstellungsbeispiele:
memory_limit = 128M ; //可以将128M改为任何你想设置的值
Datei speichern
3) Wenn der Webserver Apache verwendet, führen Sie Folgendes aus:
httpd restart
In In einigen Fällen ist es Ihnen möglicherweise nicht gestattet, php.ini privat zu ändern. Wenn Sie beispielsweise einen virtuellen Hosting-Dienst erworben haben, Ihr Dienstanbieter Ihnen jedoch nicht erlaubt, diese Datei zu ändern. Dann möchten Sie möglicherweise andere Methoden in Betracht ziehen, um den Wert von „memory_limit“ zu erhöhen.
Methode 2: .htaccess
Hinweis: Diese Methode wird nur wirksam, wenn PHP mit dem Apache-Modul ausgeführt wird. Suchen Sie die Datei „.htaccess“ im Stammverzeichnis Ihrer Website. Wenn Sie keine haben, können Sie selbst eine erstellen. Fügen Sie dann die folgende Konfiguration ein:
php_value memory_limit 128M ; //可以将128M改为任何你想设置的值
Methode 3: Ändern Sie die Speichereinstellungen von PHP während der Laufzeit
Fügen Sie die folgende Befehlszeile zu Ihrem PHP-Code hinzu.
ini_set('memory_limit','128M');
Memory_limit konnte nicht geändert werden
Wenn Sie einen virtuellen Host verwenden, kann es sein, dass der Wert von „memory_limit“ nicht geändert werden konnte. Sie müssen sich an Ihren Dienstanbieter wenden, um zu erfahren, wie Sie damit umgehen können. Normalerweise ist der maximal einstellbare Wert begrenzt oder Sie können ihn überhaupt nicht ändern. Wenn die Umgebung Ihren Anforderungen wirklich nicht gerecht wird, sollten Sie über einen Wechsel zu einem anderen Hosting-Anbieter nachdenken.