PHP Einstellung memory_limit anpassen

Vorwort

Die PHP Einstellung memory_limit definiert den maximal zur Verfügung stehenden Arbeitsspeicher in Bytes (oder alternativ in Kibibytes [K], Mebibytes [M] oder Gibibytes [G]) für PHP-Scripte. Durch die Limitierung des Arbeitsspeichers kann sichergestellt werden, dass PHP nicht zu viel RAM beansprucht, wodurch der zur Verfügung stehende RAM überschritten werden würde oder andere Prozesse blockiert werden.


Ein hohes Arbeitsspeicherlimit kann zur Instabilität Ihrer Web-Applikationen führen. Sofern Sie den Wert aufgrund von Hintergrundprozessen anpassen möchten, nutzen Sie alternativ unsere Cronjobs im Kundencenter, um die Aufgaben via SSH auszuführen. Wir empfehlen hier einen maximalen Wert von 1 G. (GiB)


Um die PHP Einstellung memory_limit anzupassen, melden Sie sich zunächst in unserem Kundencenter unter account.creoline.com mit Ihren Zugangsdaten an.


Wählen Sie über die Navigation Ihren Server unter Server aus, für den Sie die PHP Einstellungen verändern möchten. Öffnen Sie anschließend das Plesk Control Panel über den Menüpunkt Plesk Control Panel.


Sollte der Menüpunkt in Ihrem Server nicht dargestellt werden, finden Sie im Artikel Anmeldung im Plesk Control Panel weitere Möglichkeiten für die Anmeldung.



Anpassung für eine einzelne Domain

Sobald Sie in Plesk angemeldet sind, können Sie die Domain über die globale Suche oder den Menüpunkt Abonnements auswählen.

Plesk - PHP-Einstellungen

Über die Schaltfläche PHP Einstellungen können Sie die allgemeinen PHP Einstellungen anpassen:


Plesk - memory_limit

Der Wert memory_limit definiert die maximale erlaubte Menge an Arbeitsspeicher verbrauch für PHP-Scripts. Dieser Wert ist frei definierbar und wird in der Einheit Byte angegeben.


Nachdem die Einstellungen gespeichert wurden, lädt der Webserver automatisch die Konfiguration mithilfe eines Graceful-Restarts neu, sodass bestehende Requests nicht abgebrochen, sondern pausiert werden.



Anpassung für alle Domains

Um die PHP Einstellung für alle Domains einer PHP Version anzupassen, muss die PHP Konfigurationsdatei php.ini angepasst werden. Wählen Sie hierzu über die Tools & Einstellungen, in der linken Seitenleiste, den Punkt PHP Einstellungen aus.

Plesk - PHP Einstellungen

Klicken Sie anschließend auf die PHP Version, für die Sie die Einstellung global anpassen möchten.

Über die Registerkarte php.ini erhalten Sie Zugriff auf die PHP Konfigurationsdatei:


Plesk - php.ini

Suchen Sie in dem Textfeld nach dem Begriff memory_limit und ersetzen Sie den angegebenen Wert durch den gewünschten neuen Wert. Die Standardeinstellung in Plesk ist 128M .


Klicken Sie anschließend auf die Schaltfläche OK, um die Änderungen zu speichern. Die Änderungen werden umgehend für alle Abonnements wirksam, die die ausgewählte PHP-Version konfiguriert haben und nicht mithilfe von der benutzerdefinierten PHP Einstellung überschrieben wurden.



Fehlermeldung: Allowed memory size exhausted


PHP Fatal error:  
Allowed memory size of 134217728 bytes exhausted (tried to allocate 24576 bytes)


Die Allowed memory size exhausted Fehlermeldung entsteht, sobald das definierte PHP-Memory-Limit überschritten wird. Bitte beachten Sie, dass es verschiedene PHP-Laufzeitkonfigurationen für die Web- und CLI-Umgebung gibt.


Anpassung für einen einzelnen Aufruf

Sofern kurzfristig eine Anpassung des Memory Limits für den CLI Bereich vornehmen möchten, können Sie mithilfe des -d Parameters Laufzeitkonfigurationen ergänzen.


Beispiel mit PHP 8.2:

/opt/plesk/php/8.2/bin/php -d memory_limit=1G command.php


Anpassung für alle Aufrufe

Sie können die PHP-Laufzeitkonfiguration für die CLI-Umgebung global anpassen, damit alle zukünftigen Aufrufe von PHP in der CLI-Umgebung mit der angepassten Konfiguration arbeiten.


Pfade für die PHP-Laufzeitkonfigurationen in der CLI-Umgebung:

# PHP 7.4
/opt/plesk/php/7.4/etc/php.ini

# PHP 8.0
/opt/plesk/php/8.0/etc/php.ini

# PHP 8.1
/opt/plesk/php/8.1/etc/php.ini

# PHP 8.2
/opt/plesk/php/8.2/etc/php.ini

# PHP 8.3
/opt/plesk/php/8.3/etc/php.ini


Suchen Sie in der jeweiligen php.ini die folgende Stelle und passen Sie diese nach Ihren Wünschen an:

[...]

; Maximum amount of memory a script may consume
; http://php.net/memory-limit
memory_limit = 128M


Ein Neustart von PHP ist für die CLI-Umgebung nicht notwendig. Änderungen treten umgehend in Kraft.