Direkt zum Inhalt

Wie kann ich WordPress-Dateien, die größer als 2 MB sind, in meine Elastic-Beanstalk-Umgebung hochladen?

Lesedauer: 4 Minute
0

Wenn ich WordPress-Dateien, die größer als 2 MB sind, in meine AWS-Elastic-Beanstalk-Umgebung hochlade, erhalte ich folgende Fehlermeldung: „The uploaded file exceeds the upload_max_filesize directive in php.ini.“

Kurzbeschreibung

Die Standard-PHP-Konfiguration auf einer Amazon Elastic Compute Cloud (Amazon EC2) Instance erlaubt kein Hochladen von WordPress-Dateien, die größer als 2 MB sind. Um Dateien mit einer Größe von mehr als 2 MB hochzuladen, ändere den Standardwert des Parameters upload_max_filesize in der Datei /etc/php.ini.

**Hinweis:**M und MB sind äquivalente Ausdrücke für „Megabyte“. 2M entspricht beispielsweise 2 MB. Verwende jedoch nur M in deiner Konfigurationsdatei, da MB in einer Konfigurationsdatei keine gültige Angabe ist.

Behebung

Wähle die relevante Lösung für deinen Lösungs-Stack.

Aktualisieren der Upload-Dateigröße für eine Elastic-Beanstalk-Umgebung, in der ein PHP-Lösungs-Stack ausgeführt wird

Um die Dateigröße über alle Instances hinweg zu erhöhen, aktualisiere das zugrunde liegende Amazon Machine Image (AMI), indem du die folgenden Schritte ausführst.

  1. Erstelle in einem Code-Editor eine neue Datei mit dem Namen change_upload_size.config und füge folgenden Code ein:

    files:
      "/etc/php.d/99uploadsize.ini":    
          mode: "000644"
          owner: root
          group: root
          content: |        
            upload_max_filesize = 100M
            post_max_size = 100M
    commands:
      remove_old_ini:
        command: "rm -f /etc/php.d/99uploadsize.ini.bak"

    **Hinweis:**Im obigen Beispiel wird der Wert des Parameters post_max_size vom Standardwert 32M auf 100M aktualisiert.
    Informationen zur Änderung von php.ini-Parametern wie memory_limit findest du in den php.ini-Richtlinien für post_max_size. Der maximale memory_limit-Wert in Elastic Beanstalk beträgt 256M.

  2. Erstelle im Stammverzeichnis deines Anwendungsquellpakets ein neues Verzeichnis mit dem Namen .ebextensions und verschiebe die Datei change_upload_size.config in das Verzeichnis .ebextensions.
    Wenn sich das Verzeichnis .ebextensions bereits in deinem Anwendungsquellpaket befindet, behältst du die Datei change_upload_size.config zusammen mit den anderen .config-Dateien im Verzeichnis .ebextensions.
    Beispiel:

    ├── wp-site.zip/     ├── .ebextensions/         ├── change_upload_size.config
        ├── wp-content/
        ├── wp-includes/
        ├── wp-admin/
        ├── LICENSE
        ├── README.md
        ├── index.php
        ├── license.txt
        ├── readme.html
        ├── ...
        ├── ...
        ├── ...
        ├── ...
        ├── wp-settings.php
        ├── wp-signup.php
        ├── wp-trackback.php
        └── xmlrpc.php

    **Hinweis:**Für Amazon-Linux-2-Plattformen, die auf Elastic Beanstalk basieren, ändere den Dateinamen 99uploadsize.ini in z99uploadsize.ini. Damit die neuen PHP-Einstellungen die Standardwerte überschreiben können, ändere den Dateinamen überall in der .ebextension.

  3. Öffne die Elastic-Beanstalk-Konsole und erstelle ein ZIP-Archiv deines Anwendungsquellpakets.

  4. Um deinen Code in eine vorhandene Elastic-Beanstalk-Umgebung hochzuladen, wähle deine Umgebung und dann Hochladen und Bereitstellen aus.
    **Hinweis:**Informationen zum Bereitstellen deines Codes in einer neuen Elastic-Beanstalk-Umgebung findest du unter Erstellen einer Elastic Beanstalk-Umgebung.

Wenn die Fehlermeldung nach dem Hochladen der Datei .ebextensions nicht verschwindet, verwende einen YAML-Validator, um deinen Code auf Leerzeichenfehler zu prüfen. Verwende außerdem den Befehl remove_old_ini, um nicht benötigte Sicherungsdateien zu entfernen. Weitere Informationen findest du unter Erweitern von php.ini in deiner Elastic Beanstalk-Konfiguration.

Ändern der Upload-Dateigröße für eine einzelne Amazon EC2 Instance, auf der ein LAMP Stack ausgeführt wird

  1. Führe folgenden Befehl aus, um die Datei /etc/php.ini mit dem vi-Editor zu öffnen:

    $ sudo vi /etc/php.ini

    **Hinweis:**Name und Pfad der Datei /etc/php.ini können je nach deiner PHP-Version und dem von dir verwendeten AMI variieren.

  2. Ändere im vi-Editor den Wert des Parameters upload_max_filesize auf eine Größe oberhalb 2 MB und speichere die Datei.
    Hinweis: Informationen zum Ändern von php.ini-Parametern wie memory_limit findest du in den php.ini-Richtlinien für post_max_size. Weitere Informationen findest du im Beitrag post_max_size auf der PHP-Website.

  3. Um den Apache-Server neu zu starten, führe den Befehl für deine Umgebung aus.
    Für Amazon Linux:

    $ sudo service httpd graceful

    Für Amazon Linux 2:

    $ sudo service httpd reload

**Hinweis:**Name und Pfad der Datei /etc/php.ini können je nach Ihrer PHP-Version und dem von Ihnen verwendeten AMI variieren. Der Befehl zum Neustart des Apache Servers kann ebenfalls variieren, wenn du eine andere Distribution als Amazon Linux AMI verwendest. WordPress begrenzt standardmäßig den Speicher seiner PHP-Prozesse.

Verwandte Informationen

Erweiterte Umgebungsanpassung mit Konfigurationsdateien (.ebextensions)

Bereitstellen einer WordPress Website mit hoher Verfügbarkeit und einer externen Amazon-RDS-Datenbank von Elastic Beanstalk

Tutorial: Hosten eines WordPress-Blogs auf AL2

Beschreibung von php.ini-Core-Richtlinien auf der PHP-Website

AWS OFFICIALAktualisiert vor einem Jahr