Heim > Artikel > Backend-Entwicklung > Was soll ich tun, wenn es in PHP ein Speicherlimit gibt?
In diesem Artikel wird hauptsächlich erläutert, was zu tun ist, wenn der Speicher in PHP begrenzt ist. Interessierte Freunde können darauf verweisen, ich hoffe, es wird für alle hilfreich sein.
Gestern, als ich das Programm auf der Serverseite debuggte, tauchte plötzlich die Website auf Schwerwiegender Fehler: Erlaubte Speichergröße..., Ich war damals verwirrt, aber es kam bald wieder normal, nicht nur meine Neugier war geweckt, und Baidu untersuchte die Ursache. Es stellte sich heraus, dass es durch ein einzelnes Skript verursacht wurde, das zu viel Speicher verbrauchte. Das Folgende ist ein reproduzierter Artikel.
Beim Ausführen eines PHP-Programms tritt normalerweise der Fehler „Schwerwiegender Fehler: Zulässige Speichergröße von xxxxxx Bytes erschöpft“ auf, was bedeutet, dass das PHP-Skript zu viel Speicher verwendet. und überschreitet den vom System maximal zulässigen Speicher. Um dieses Problem zu lösen, müssen Sie zunächst prüfen, ob Ihr Programm zu viel Speicher zugewiesen hat. Wenn es keine Probleme mit dem Programm gibt, können Sie das Speicherlimit (memory_limit) von PHP mit den folgenden Methoden erhöhen.
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 Code ein.
<?php phpinfo(); ?>
Legen Sie dieses Skript auf Ihren PHP-Host 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“
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.
Die einfachste oder gebräuchlichste Methode besteht darin, php.ini zu ändern
Suchen Sie zunächst die php.ini-Datei, die für Ihre Website wirksam ist
Da es viele Orte zum Festlegen von PHP-Parametern gibt, suchen Sie die richtige Konfigurationsdatei und fahren Sie fort Veränderung ist 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.
Bearbeiten Sie php.ini
Suchen Sie in php.ini das Element „memory_limit“. Wenn nicht, können Sie diesen Parameter hinzufügen allein. Im Folgenden finden Sie einige Einstellungsbeispiele
memory_limit = 128M ; 可以将128M改为任何你想设置的值
Datei speichern
Webserver neu starten
Wenn der Webserver Apache verwendet , führen Sie Folgendes aus:
httpd restart
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.
Hinweis: Diese Methode wird nur wirksam, wenn PHP als Apache-Modul ausgeführt wird.
Suchen Sie die Datei „.htaccess“ im Stammverzeichnis Ihrer Website. Wenn nicht, können Sie selbst eine erstellen. Fügen Sie dann die folgende Konfiguration ein
php_value memory_limit 128M ; 可以将128M改为任何你想设置的值
Fügen Sie die folgende Befehlszeile zu Ihrem PHP-Code hinzu.
ini_set('memory_limit', '128M');
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.
Verwandte Empfehlungen:
Detaillierte Erklärung der PHP-Speicherfreigabe und Speicherbereinigung
Detaillierte Erklärung von PHP-Speicherleck
Detaillierte Erklärung der PHP-Speicherverwaltung
Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn es in PHP ein Speicherlimit gibt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!