Welche PHP-Einstellungen kann ich ändern?

Hier finden Sie eine Übersicht der wichtigsten php.ini-Direktiven, mit denen Sie die PHP-Einstellungen Ihres Webhosting-Paketes an die Anforderungen Ihrer Website anpassen können.

Sicherheitseinstellungen

allow_url_fopen = On

Legt fest, ob Dateizugriffe auf externe URLs erlaubt sind. Das Unterbinden erhöht die Sicherheit, da es für Angreifer schwieriger ist, Schadprogramme nachzuladen.

disable_functions

Spezifiziert eine Liste von Funktionen, die ausgeschaltet werden sollen. Diese werden von PHP-Software üblicherweise nicht genutzt, wohl aber von Angreifern.
Beispiel: disable_functions = exec,system,passthru,shell_exec, popen,escapeshellcmd,proc_open, proc_nice,ini_restore

safe_mode = On

Schaltet den Safe-Mode an, der bewirkt, dass PHP in einem abgesicherten Modus läuft. Bei Dateioperationen finden weitere Prüfungen statt und der Zugriff auf Umgebungsvariablen ist beschränkt.

Skriptlimit-Einstellungen

Die Grenzwerte für den Arbeitsspeicher (RAM) werden nachfolgend in der php.ini-typischen Schreibweise angegeben. So steht zum Beispiel ein Wert von 256M für ein Begrenzung des verfügbaren Arbeitsspeichers auf 256 Megabytes (MB).

memory_limit = 256M

Legt fest, wie viel Arbeitsspeicher (RAM) ein Skript maximal beanspruchen darf. ACHTUNG: Unabhängig vom dem hier angegebenen, globalen Wert gilt das für Ihr Paket vorgegebene Memory-Limit. Höhere Werte werden daher vom Webserver ignoriert. Um das memory_limit zum Beispiel auf 512 MB zu setzen, muss folgendes in die php.ini eingetragen werden: memory_limit = 512M

post_max_size = 64M

Bestimmt, wie groß die via POST-Methode übertragene Datenmenge maximal sein darf. Wenn Sie große Dateien per Formular hochladen möchten, sollte der Wert größer als upload_max_filesize sein.   Um post_max_size zum Beispiel auf 128 MB zu setzen, tragen Sie folgendes in die php.ini ein: post_max_size = 128M

Hinweis: Die tatsächliche Größe kann variieren. Zum Beispiel wenn dabei die maximale Skriptlaufzeit überschritten wird. Des weiteren muss das memory_limit größer als post_max_size sein.

upload_max_filesize = 64M

Bestimmt, wie groß Dateien, die per Formular hochgeladen werden, sein dürfen. Um beispielsweise Dateien mit einer Größe von bis zu 128 MB hochladen zu können, tragen Sie folgendes in die php.ini ein: upload_max_filesize = 128M

max_execution_time = 60

Zeitbegrenzung, wie lange ein Skript laufen darf. ACHTUNG: Unabhängig vom dem hier angegebenen, globalen Wert gilt das für Ihr Paket vorgegebene Max_Execution_Time. Höhere Werte werden daher vom Webserver ignoriert. Um die Ausführungszeit für Skripte zum Beispiel auf 45 Sekunden zu beschränken, tragen Sie folgendes in Ihre php.ini ein: max_execution_time = 45

Sonstige Einstellungen

display_errors

Diese Einstellung legt fest, ob PHP-Fehlermeldungen auf dem Bildschirm angezeigt werden sollen oder nicht. Um Fehlermeldungen anzuzeigen, muss display_errors auf "on" gesetzt sein.

Diese Einstellung ist besonders bei der Entwicklung und Fehlersuche nützlich, sollte aber in Produktivumgebungen aus Sicherheitsgründen auf "Off" gesetzt werden, da sie Angreifern nützliche Informationen liefern kann. Seit PHP 8.1 ist display_errors = Off daher die Standardeinstellung für IONOS Webhosting. 

zlib.output_compression = off

Komprimiert php Dateien im gzip-Format

session.auto_start = off

Spezifiziert, ob das Session-Modul zu Beginn einer Anfrage automatisch eine Session startet. Grundeinstellung 0(deaktiviert).

max_input_vars = 5000

Diese Direktive verhindert die Nutzung von Hashtable-Kollisionen für eine Denial of Service Attacke. Wenn mehr Eingabe-Variablen gesendet werden, als mit dieser Direktive erlaubt, wird ein Fehler der Stufe E_WARNING geworfen und weitere Eingabe-Variablen werden nicht angenommen. Dieses Limit wird für mehrdimensionale Eingabe-Arrays für jede Nesting-Ebene einzeln berechnet.

max_input_time = -1

Legt die maximale Zeit in Sekunden fest, die ein Skript verbrauchen darf, um Eingabedaten (wie POST, GET und Dateiuploads) zu verarbeiten. Die Zeit wird gemessen, wenn die Daten auf dem Server empfangen bis zum Start der Skriptausführung. Zeit in Sekunden (-1 = kein Limit)

Weitere Informationen

Weitere Hilfe zu diesem Thema finden Sie hier: