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, ändern Sie den Standardwert des Parameters upload_max_filesize in der Datei /etc/php.ini.

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

Behebung

Wählen Sie die relevante Lösung für Ihren 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, aktualisieren Sie das zugrunde liegende Amazon Machine Image (AMI), indem Sie die folgenden Schritte ausführen.

1.Erstellen Sie in einem Code-Editor eine neue Datei mit dem Namen change_upload_size.config und fügen Sie 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 finden Sie in den php.ini-Richtlinien für post_max_size. Der maximale memory_limit-Wert in Elastic Beanstalk beträgt 256M.

2.Erstellen Sie im Stammverzeichnis Ihres Anwendungsquellpakets ein neues Verzeichnis mit dem Namen .ebextensions und verschieben Sie die Datei change_upload_size.config in das Verzeichnis .ebextensions.

Wenn sich das Verzeichnis .ebextensions bereits in Ihrem Anwendungsquellpaket befindet, behalten Sie 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

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

3.Öffnen Sie die Elastic-Beanstalk-Konsole und erstellen Sie ein ZIP-Archiv Ihres Anwendungsquellpakets.

4.Um Ihren Code in eine vorhandene Elastic-Beanstalk-Umgebung hochzuladen, wählen Sie Ihre Umgebung und dann Hochladen und Bereitstellen aus.
**Hinweis:**Informationen zum Bereitstellen Ihres Codes in einer neuen Elastic-Beanstalk-Umgebung finden Sie unter Erstellen einer Elastic Beanstalk-Umgebung.

Wenn die Fehlermeldung nach dem Hochladen der Datei .ebextensions nicht verschwindet, verwenden Sie einen YAML-Validator, um Ihren Code auf Leerzeichenfehler zu prüfen. Verwenden Sie außerdem den Befehl remove_old_ini, um nicht benötigte Sicherungsdateien zu entfernen. Weitere Informationen finden Sie unter Erweitern von php.ini.

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

1.Führen Sie 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 Ihrer PHP-Version und dem von Ihnen verwendeten AMI variieren.

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

3.Um den Apache-Server korrekt neu zu starten, führen Sie den entsprechenden Befehl für Ihre 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 Sie eine andere Distribution als Amazon Linux AMI verwenden. 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

Hosten eines WordPress Blogs auf Amazon Linux 2

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

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 7 Monaten