Wissensdatenbank · PHP-Umgebung

Die PHP-Variable upload_max_filesize: Lokaler Wert und Hauptwert (Master Value) unterscheiden sich

Zuletzt aktualisiert am 2025-06-07

 

Der Unterschied zwischen dem lokalen Wert und dem Master-Wert von upload_max_filesize in Ihrer PHP-Konfiguration entsteht in der Regel aus folgendem Grund:

  1. Lokaler Wert: Dies ist die Einstellung, die für das aktuelle Skript oder den aktuellen Kontext gilt (z. B. einen bestimmten Virtual Host, ein Verzeichnis oder eine .htaccess-Datei).
  2. Master-Wert: Dies ist die globale Standardeinstellung des Servers in der Hauptdatei php.ini Datei, die gepflegt wird von cPanel > PHP-Version auswählen.

Warum sie sich unterscheiden

Die Lokaler Wert einer PHP-Variablen wird vom Entwickler über Skriptbefehle gesteuert, während der globale Wert verwaltet wird über cPanel > PHP-Version auswählen. Lokale Werte können vom Entwickler per Code oder über Konfigurationsdateien festgelegt werden. Die am häufigsten verwendeten Stellen, um PHP-Variablen im Code festzulegen, sind:

  1. Überschreibende Werte können in .htaccess, httpd.conf, .user.ini oder php.ini angegeben werden:
    • Wenn eine .htaccess Datei, httpd.conf, oder eine bestimmte Virtual-Host-Konfiguration einen Wert für die Variable festlegt und damit den globalen Wert überschreibt, weicht der lokale Wert davon ab.
  2. Festlegung zur Laufzeit im PHP-Code:
    • Ein Skript kann ini_set() verwenden, um den upload_max_filesize zur Laufzeit für das aktuelle Skript.
  3. Einstellungen pro Verzeichnis oder pro Benutzer:
    • Die PHP-Konfiguration kann für verschiedene Verzeichnisse oder Benutzer unterschiedlich sein, insbesondere in Shared-Hosting-Umgebungen.
    • Diese werden in verzeichnisspezifischen oder benutzerspezifischen Dateien vom Typ .htaccess, .user.ini oder php.ini festgelegt.
  4. Konfigurationsdatei des Skripts:
    • Skripte wie WordPress ermöglichen die Festlegung von ini_set() based PHP-Variablenwerten in Konfigurationsdateien wie wp-config.php 

Behebung der Abweichung

Um den lokalen Wert und den Master-Wert anzugleichen, müssen Sie herausfinden, an welcher Stelle der Wert überschrieben wird, und die erforderlichen Anpassungen vornehmen.

 

Schritte zur Behebung:

  1. Prüfen Sie die Master-Konfiguration in php.ini:

    • Suchen Sie Ihre php.ini Datei. Den Pfad dazu finden Sie wie folgt heraus:

      <?php
      phpinfo(); ?>
       
    • Suchen Sie nach der upload_max_filesize Direktive und setzen Sie sie auf den gewünschten Wert. Zum Beispiel:
       
      upload_max_filesize = 20M
  2. Stellen Sie sicher, dass in der .htaccess keine Überschreibungen vorhanden sind:

    • Wenn Sie Apache verwenden, prüfen Sie, ob .htaccess Dateien im aktuellen Verzeichnis oder in übergeordneten Verzeichnissen vorhanden sind.

    • Achten Sie auf Direktiven wie:

      php_value upload_max_filesize 10M
       
    • Entfernen oder ändern Sie diese so, dass sie zu Ihrem php.ini Wert passen.
  3. Auf Überschreibungen zur Laufzeit prüfen:

    • Prüfen Sie Ihre PHP-Skripte auf ini_set() Aufrufe, die den upload_max_filesize Wert während der Ausführung ändern könnten.
  4. Überprüfen Sie die Änderungen:

    • Führen Sie den Befehl erneut aus: phpinfo() und bestätigen Sie, dass der lokale Wert und der Master-Wert nun übereinstimmen.

 

Hinweise:

  • Stellen Sie sicher, dass der Wert post_max_size Wert in php.ini ebenfalls groß genug für die Uploads ist. Er sollte in der Regel größer sein als upload_max_filesize.
  • Stellen Sie sicher, dass der Wert für memory_limit ebenfalls groß genug für die Uploads ist.

← Alle Knowledgebase Artikel

Tell us what you need

Compare available plans or describe your workload so we can discuss a suitable starting point.