Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Verwenden der PHP-Plattform von Elastic Beanstalk
In diesem Thema wird beschrieben, wie Sie Ihre PHP Anwendungen auf Elastic Beanstalk konfigurieren, erstellen und ausführen.
AWS Elastic Beanstalk unterstützt eine Reihe von Plattformzweigen für verschiedene Versionen der PHP Programmiersprache. Diese Plattformen unterstützen PHP Webanwendungen, die alleine oder unter Composer ausgeführt werden können. Sehen Sie PHPin der AWS Elastic Beanstalk Eine vollständige Liste der unterstützten Plattformzweige finden Sie im Dokument Plattformen.
Elastic Beanstalk bietet Konfigurationsoptionen, mit denen Sie die Software anpassen können, die auf den EC2 Instances in Ihrer Elastic Beanstalk Beanstalk-Umgebung ausgeführt wird. Sie können Umgebungsvariablen konfigurieren, die für Ihre Anwendung erforderlich sind, die Protokollrotation zu Amazon S3 aktivieren, Ordner in Ihrer Anwendungsquelle, die statische Dateien enthalten, Pfaden zuordnen, die vom Proxy-Server bereitgestellt werden, und allgemeine PHP Initialisierungseinstellungen festlegen.
In der Elastic Beanstalk-Konsole sind Konfigurationsoptionen für das Ändern der Konfiguration einer ausgeführten Umgebung verfügbar. Um zu verhindern, dass die Umgebungskonfiguration beim Beenden verloren geht, können Sie gespeicherte Konfigurationen verwenden, um Ihre Einstellungen zu speichern und sie später für eine andere Umgebung zu übernehmen.
Zum Speichern der Einstellungen im Quellcode können Sie Konfigurationsdateien einschließen. Die Einstellungen in Konfigurationsdateien werden jedes Mal verwendet, wenn Sie eine Umgebung erstellen oder Ihre Anwendung bereitstellen. Mit Konfigurationsdateien können Sie auch Pakete installieren, Skripts ausführen und andere Instance-Anpassungen bei Bereitstellungen vornehmen.
Wenn Sie Composer verwenden, können Sie durch das Einbinden einer composer.json-Datei in das Quell-Bundle die Pakete während der Bereitstellung installieren.
Für erweiterte PHP Konfigurationen und PHP Einstellungen, die nicht als Konfigurationsoptionen bereitgestellt werden, können Sie Konfigurationsdateien verwenden, um eine INI Datei bereitzustellen, die die von Elastic Beanstalk angewendeten Standardeinstellungen erweitern und überschreiben kann, oder zusätzliche Erweiterungen installieren.
Die in der Elastic Beanstalk-Konsole angewendeten Einstellungen überschreiben die entsprechenden Einstellungen in Konfigurationsdateien, falls vorhanden. So sind Standardeinstellungen in Konfigurationsdateien möglich, die Sie mit umgebungsspezifischen Einstellungen in der Konsole überschreiben können. Für weitere Informationen zur Rangfolge und zu anderen Methoden zum Ändern der Einstellungen siehe Konfigurationsoptionen.
Details zu den verschiedenen Möglichkeiten für das Erweitern einer Linux-basierten Elastic Beanstalk-Plattform finden Sie unter Erweitern von Elastic Beanstalk-Linux-Plattformen.
Überlegungen zu PHP 8.1 auf Amazon Linux 2
Lesen Sie diesen Abschnitt, wenn Sie den Zweig PHP8.1 auf der Amazon Linux 2-Plattform verwenden.
Anmerkung
Die Informationen in diesem Thema beziehen sich nur auf den Zweig PHP8.1 auf der Amazon Linux 2-Plattform. Sie gilt nicht für die PHP Plattformzweige, die auf AL2 023 basieren. Sie gilt auch nicht für die Amazon Linux 2-Plattformbranche PHP 8.0.
Elastic Beanstalk speichert die PHP 8.1-bezogenen RPM Pakete für den Plattformzweig PHP8.1 auf Amazon Linux 2 auf den EC2 Instances in einem lokalen Verzeichnis und nicht im Amazon Linux-Repository. Sie können rpm -i verwenden, um Pakete zu installieren. Ab Version 3.5.0 der Plattform PHP 8.1 speichert Elastic Beanstalk die PHP 8.1-bezogenen RPM Pakete im folgenden lokalen Verzeichnis. EC2
/opt/elasticbeanstalk/RPMS
Im folgenden Beispiel wird das installiert php-debuginfo Paket.
$rpm -i /opt/elasticbeanstalk/RPMS/php-debuginfo-8.1.8-1.amzn2.x86_64.rpm
Die Version im Paketnamen hängt von der tatsächlichen Version ab, die im EC2 lokalen Verzeichnis aufgeführt ist/opt/elasticbeanstalk/RPMS
. Verwenden Sie dieselbe Syntax, um andere PHP RPM 8.1-Pakete zu installieren.
Erweitern Sie den folgenden Abschnitt, um eine Liste der von uns bereitgestellten RPM Pakete anzuzeigen.
Die folgende Liste enthält die RMP Pakete, die die Elastic Beanstalk PHP 8.1-Plattform auf Amazon Linux 2 bereitstellt. Diese befinden sich im lokalen Verzeichnis /opt/elasticbeanstalk/RPMS
.
Die Versionsnummern 8.1.8-1 und 3.7.0-1 in den aufgelisteten Paketnamen sind nur ein Beispiel.
-
php-8.1.8-1.amzn2.x86_64.rpm
-
php-bcmath-8.1.8-1.amzn2.x86_64.rpm
-
php-cli-8.1.8-1.amzn2.x86_64.rpm
-
php-common-8.1.8-1.amzn2.x86_64.rpm
-
php-dba-8.1.8-1.amzn2.x86_64.rpm
-
php-dbg-8.1.8-1.amzn2.x86_64.rpm
-
php-debuginfo-8.1.8-1.amzn2.x86_64.rpm
-
php-devel-8.1.8-1.amzn2.x86_64.rpm
-
php-embedded-8.1.8-1.amzn2.x86_64.rpm
-
php-enchant-8.1.8-1.amzn2.x86_64.rpm
-
php-fpm-8.1.8-1.amzn2.x86_64.rpm
-
php-gd-8.1.8-1.amzn2.x86_64.rpm
-
php-gmp-8.1.8-1.amzn2.x86_64.rpm
-
php-intl-8.1.8-1.amzn2.x86_64.rpm
-
php-ldap-8.1.8-1.amzn2.x86_64.rpm
-
php-mbstring-8.1.8-1.amzn2.x86_64.rpm
-
php-mysqlnd-8.1.8-1.amzn2.x86_64.rpm
-
php-odbc-8.1.8-1.amzn2.x86_64.rpm
-
php-opcache-8.1.8-1.amzn2.x86_64.rpm
-
php-pdo-8.1.8-1.amzn2.x86_64.rpm
-
php-pear-1.10.13-1.amzn2.noarch.rpm
-
php-pgsql-8.1.8-1.amzn2.x86_64.rpm
-
php-process-8.1.8-1.amzn2.x86_64.rpm
-
php-pspell-8.1.8-1.amzn2.x86_64.rpm
-
php-snmp-8.1.8-1.amzn2.x86_64.rpm
-
php-soap-8.1.8-1.amzn2.x86_64.rpm
-
php-sodium-8.1.8-1.amzn2.x86_64.rpm
-
php-xml-8.1.8-1.amzn2.x86_64.rpm
-
php-pecl-imagick-3.7.0-1.amzn2.x86_64.rpm
-
php-pecl-imagick-debuginfo-3.7.0-1.amzn2.x86_64.rpm
-
php-pecl-imagick-devel-3.7.0-1.amzn2.noarch.rpm
Sie können die PECL Pakete PEAR und verwenden, um gängige Erweiterungen zu installieren. Weitere Informationen PEAR dazu finden Sie auf der Website zum PEARPHPExtension and Application Repository
Mit den folgenden Beispielbefehlen werden die Memcached-Erweiterungen installiert.
$pecl install memcache
Sie können auch Folgendes verwenden:
$pear install pecl/memcache
Die folgenden Beispielbefehle installieren die Redis-Erweiterungen.
$pecl install redis
Sie können auch Folgendes verwenden:
$pear install pecl/redis
Konfiguration der PHP-Umgebung
Sie können die Elastic Beanstalk Beanstalk-Konsole verwenden, um die Protokollrotation zu Amazon S3 zu aktivieren, Variablen zu konfigurieren, die Ihre Anwendung aus der Umgebung lesen kann, und Einstellungen zu ändernPHP.
So konfigurieren Sie Ihre PHP Umgebung in der Elastic Beanstalk Beanstalk-Konsole
Öffnen Sie die Elastic Beanstalk Beanstalk-Konsole
und wählen Sie in der Liste Regionen Ihre AWS-Region. -
Wählen Sie im Navigationsbereich Environments (Umgebungen) aus und wählen Sie dann in der Liste den Namen Ihrer Umgebung aus.
Anmerkung
Wenn Sie viele Umgebungen haben, verwenden Sie die Suchleiste, um die Umgebungsliste zu filtern.
Wählen Sie im Navigationsbereich Configuration (Konfiguration) aus.
-
Wählen Sie in der Konfigurationskategorie Updates, monitoring and logging (Updates, Überwachung und Protokolle) die Option Edit (Bearbeiten) aus.
PHPEinstellungen
-
Proxy server (Proxy-Server) – Der Proxyserver, der in Ihren Umgebungs-Instances verwendet werden soll. Standardmäßig wird nginx verwendet.
-
Document root (Dokumentenstamm) – In diesem Ordner ist die Standardseite Ihrer Website enthalten. Falls sich die Willkommenseite nicht im Stamm des Quell-Bundles befindet, geben Sie den entsprechenden Ordner relativ zum Stammpfad an. Beispielsweise
/public
, wenn die Willkommenseite im Ordnerpublic
ist. -
Memory limit (Speicherlimit) – Der maximale Speicher, der von einem Skript zugeordnet werden kann. Beispiel,
512M
. -
Zlib output compression (Zlib-Ausgabekomprimierung) – Legen Sie den Wert auf
On
fest, um Antworten zu komprimieren. -
URLFopen zulassen — Auf setzen, um
Off
zu verhindern, dass Skripts Dateien von entfernten Speicherorten herunterladen. -
Display errors (Fehler anzeigen) – Legen Sie den Wert auf
On
fest, damit interne Fehlermeldungen zum Debuggen angezeigt werden. -
Max execution time (Max. Ausführungszeit) – Gibt die maximale Dauer (in Sekunden) an, die ein Skript ausgeführt werden kann, bevor es von der Umgebung beendet wird.
Protokolloptionen
Im Abschnitt mit den Protokolloptionen hat zwei Einstellungen:
-
Instance profile (Instance-Profil) – Gibt das Instance-Profil an, das zum Zugriff auf den entsprechenden Amazon S3-Bucket der Anwendung berechtigt ist.
-
Rotation der Protokolldateien nach Amazon S3 aktivieren — Gibt an, ob Protokolldateien für die EC2 Amazon-Instances Ihrer Anwendung in den Amazon S3-Bucket kopiert werden, der Ihrer Anwendung zugeordnet ist.
Statische Dateien
Um die Leistung zu verbessern, können Sie den Abschnitt Statische Dateien verwenden, um den Proxy-Server so zu konfigurieren, dass statische Dateien (z. HTML B. Bilder) aus einer Reihe von Verzeichnissen in Ihrer Webanwendung bereitgestellt werden. Legen Sie für jedes Verzeichnis den virtuellen Pfad zum Verzeichnis-Mapping fest. Wenn der Proxy-Server eine Anfrage nach einer Datei unter dem angegebenen Pfad erhält, stellt er die Datei direkt bereit, anstatt die Anfrage an Ihre Anwendung weiterzuleiten.
Weitere Informationen zum Konfigurieren statischer Dateien mit der Elastic Beanstalk-Konsole finden Sie unter Bereitstellen von statischen Dateien.
Umgebungseigenschaften
Im Abschnitt Umgebungseigenschaften können Sie die Umgebungskonfigurationseinstellungen für die EC2 Amazon-Instances angeben, auf denen Ihre Anwendung ausgeführt wird. Diese Einstellungen werden als Schlüsselwert-Paare an die Anwendung weitergeleitet.
Ihr Anwendungscode kann mithilfe der Funktion $_SERVER
oder get_cfg_var
auf Umgebungseigenschaften zugreifen.
$endpoint = $_SERVER['API_ENDPOINT'];
Weitere Informationen finden Sie unter Umgebungseigenschaften und andere Softwareeinstellungen.
Namespaces für die Konfiguration
Mithilfe einer Konfigurationsdatei können Sie im Rahmen der Bereitstellung Konfigurationsoptionen festlegen und andere Instance-Konfigurationsaufgaben durchführen. Die Konfigurationsoptionen können plattformspezifisch sein oder für alle Plattformen im Elastic Beanstalk-Service als Ganzes gelten. Die Konfigurationsoptionen sind in Namespaces organisiert.
Die folgenden Namespaces konfigurieren sowohl Ihren Proxydienst als auch bestimmte Optionen: PHP
-
aws:elasticbeanstalk:environment:proxy:staticfiles— konfigurieren Sie den Umgebungsproxy so, dass er statische Dateien bereitstellt. Sie definieren Zuordnungen von virtuellen Pfaden zu Anwendungsverzeichnissen.
-
aws:elasticbeanstalk:environment:proxy— gibt den Proxyserver der Umgebung an.
-
aws:elasticbeanstalk:container:php:phpini— konfiguriert PHP spezifische Optionen. Dieser Namespace beinhaltet
composer_options
, was auf der Elastic Beanstalk Beanstalk-Konsole nicht verfügbar ist. Diese Option legt die benutzerdefinierten Optionen fest, die bei der Installation von Abhängigkeiten mit Composer über den Befehl verwendet werden sollen.composer.phar install
Weitere Informationen zu diesem Befehl, einschließlich der verfügbaren Optionen, finden Sie unter installauf der Website getcomposer.org.
Die folgende Beispielkonfigurationsdatei gibt eine Option für statische Dateien an, mit der ein Verzeichnis mit dem Namen staticimages
dem Pfad /images
zugeordnet wird, und zeigt die Einstellungen jeder der im Namespace aws:elasticbeanstalk:container:php:phpini
verfügbaren Optionen an:
Beispiel .ebextensions/php-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
aws:elasticbeanstalk:environment:proxy:staticfiles:
/images: staticimages
aws:elasticbeanstalk:container:php:phpini:
document_root: /public
memory_limit: 128M
zlib.output_compression: "Off"
allow_url_fopen: "On"
display_errors: "Off"
max_execution_time: 60
composer_options: vendor/package
Anmerkung
Der aws:elasticbeanstalk:environment:proxy:staticfiles
Namespace ist auf Amazon AMI PHP Linux-Plattformbranches (vor Amazon Linux 2) nicht definiert.
Elastic Beanstalk bietet zahlreiche Konfigurationsoptionen für die Anpassung Ihrer Umgebung. Neben den Konfigurationsdateien können Sie auch Konfigurationsoptionen mithilfe der Konsole, gespeicherten Konfigurationen, der EB CLI oder der AWS CLI. KonfigurationsoptionenWeitere Informationen finden Sie unter.