

AWS App Runner wird ab dem 30. April 2026 nicht mehr für Neukunden geöffnet sein. Wenn Sie App Runner verwenden möchten, melden Sie sich vor diesem Datum an. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter [Änderung der AWS App Runner Verfügbarkeit](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

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
<a name="service-source-code-php"></a>

**Wichtig**  
App Runner wird die Unterstützung für **PHP 8.1** am 31. Dezember 2025 beenden. Empfehlungen und weitere Informationen finden Sie unter[Ende der Unterstützung für verwaltete Runtime-Versionen](service-source-code.md#service-source-code.managed-platforms.eos).

Die AWS App Runner PHP-Plattform bietet verwaltete Laufzeiten. Sie können jede Laufzeit verwenden, um Container mit Webanwendungen zu erstellen und auszuführen, die auf einer PHP-Version basieren. Wenn Sie eine PHP-Runtime verwenden, startet App Runner mit einem verwalteten PHP-Runtime-Image. Dieses Image basiert auf dem [Amazon Linux Docker-Image](https://hub.docker.com/_/amazonlinux) und enthält das Runtime-Paket für eine Version von PHP und einige Tools. App Runner verwendet dieses verwaltete Runtime-Image als Basis-Image und fügt Ihren Anwendungscode hinzu, um ein Docker-Image zu erstellen. Anschließend wird dieses Image bereitgestellt, um Ihren Webservice in einem Container auszuführen.

 Sie geben eine Laufzeit für Ihren App Runner-Dienst an, wenn Sie [einen Dienst mithilfe der App Runner-Konsole oder des [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API-Vorgangs erstellen](manage-create.md). Sie können auch eine Laufzeit als Teil Ihres Quellcodes angeben. Verwenden Sie das `runtime` Schlüsselwort in einer [App Runner-Konfigurationsdatei](config-file.md), die Sie in Ihr Code-Repository aufnehmen. Die Benennungskonvention einer verwalteten Laufzeit lautet*<language-name><major-version>*. 

Gültige PHP-Laufzeitnamen und -versionen finden Sie unter[Informationen zur PHP-Runtime-Version](service-source-code-php-releases.md).

App Runner aktualisiert die Laufzeit für Ihren Dienst bei jeder Bereitstellung oder jedem Service-Update auf die neueste Version. Wenn Ihre Anwendung eine bestimmte Version einer verwalteten Laufzeit benötigt, können Sie diese mithilfe des `runtime-version` Schlüsselworts in der [App Runner-Konfigurationsdatei](config-file.md) angeben. Sie können sich auf eine beliebige Versionsebene beschränken, einschließlich einer Haupt- oder Nebenversion. App Runner aktualisiert die Laufzeit Ihres Dienstes nur auf niedrigerer Ebene.

Versionssyntax für PHP-Laufzeiten: `major[.minor[.patch]]`

Beispiel: `8.1.10`

Im Folgenden finden Sie Beispiele für das Sperren von Versionen:
+ `8.1`— Sperren Sie die Haupt- und Nebenversionen. App Runner aktualisiert nur Patch-Versionen.
+ `8.1.10`— Auf eine bestimmte Patch-Version festlegen. App Runner aktualisiert Ihre Runtime-Version nicht.

**Wichtig**  
 Wenn Sie das [Quellverzeichnis](service-source-code.md#service-source-code.source-directory) des Code-Repositorys für Ihren App Runner-Dienst an einem anderen Ort als dem Standard-Repository-Stammverzeichnis angeben möchten, muss Ihre verwaltete PHP-Runtime-Version PHP `8.1.22` oder höher sein. Ältere PHP-Runtime-Versionen verwenden `8.1.22` möglicherweise nur das Standard-Root-Quellverzeichnis. 

**Topics**
+ [PHP-Laufzeitkonfiguration](#service-source-code-php.config)
+ [Kompatibilität](#service-source-code-php.compatibility)
+ [Beispiele für PHP-Runtime](#service-source-code-php.examples)
+ [Informationen zur PHP-Runtime-Version](service-source-code-php-releases.md)

## PHP-Laufzeitkonfiguration
<a name="service-source-code-php.config"></a>

Wenn Sie sich für eine verwaltete Runtime entscheiden, müssen Sie mindestens auch Build- und Run-Befehle konfigurieren. Sie konfigurieren sie bei der [Erstellung](manage-create.md) oder [Aktualisierung](manage-configure.md) Ihres App Runner-Dienstes. Sie können dies mit einer der folgenden Methoden tun:
+ **Verwenden der App Runner-Konsole** — Geben Sie die Befehle im Abschnitt **Build konfigurieren** des Erstellungsprozesses oder der Registerkarte Konfiguration an.
+ **Verwenden der App Runner-API** — Rufen Sie den [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API-Vorgang [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)oder auf. Geben Sie die Befehle mithilfe der `StartCommand` Elemente `BuildCommand` und des [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)Datentyps an.
+ **Mithilfe einer [Konfigurationsdatei](config-file.md)** — Geben Sie einen oder mehrere Build-Befehle in bis zu drei Build-Phasen sowie einen einzelnen Run-Befehl an, der zum Starten Ihrer Anwendung dient. Es gibt zusätzliche optionale Konfigurationseinstellungen.

Die Bereitstellung einer Konfigurationsdatei ist optional. Wenn Sie einen App Runner-Dienst mithilfe der Konsole oder der API erstellen, geben Sie an, ob App Runner Ihre Konfigurationseinstellungen direkt bei der Erstellung oder aus einer Konfigurationsdatei bezieht.

## Kompatibilität
<a name="service-source-code-php.compatibility"></a>

Sie können Ihre App Runner-Dienste auf der PHP-Plattform mit einem der folgenden Webserver ausführen: 
+ Apache HTTP Server
+ NGINX

Apache HTTP Serverund NGINX sind mit PHP-FPM kompatibel. Sie können das *Apache HTTP Server*und mit einer *NGINX*der folgenden Optionen starten:
+ [Supervisord](http://supervisord.org/introduction.html#supervisor-components/) — Weitere Informationen zum Ausführen von Supervisord finden Sie unter [Supervisord ausführen](http://supervisord.org/running.html#running-supervisord). *supervisord* 
+ Startskript 

Beispiele zur Konfiguration Ihres App Runner-Dienstes mit der PHP-Plattform mithilfe von *Apache HTTP Server* oder *NGINX* finden Sie unter. [Vollständige PHP-Anwendungsquelle](#service-source-code-php.examples.end2end) 

### Dateistruktur
<a name="service-source-code-php.compatibility.file-structure"></a>

Der `index.php` muss im `public` Ordner unter dem `root` Verzeichnis des Webservers installiert sein. 

**Anmerkung**  
Wir empfehlen, die `supervisord.conf` Dateien `startup.sh` oder im Stammverzeichnis des Webservers zu speichern. Stellen Sie sicher, dass der `start` Befehl auf den Speicherort verweist, an dem die `startup.sh` `supervisord.conf` Oder-Dateien gespeichert sind.

 Das Folgende ist ein Beispiel für die Dateistruktur, wenn Sie verwenden *supervisord*. 

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

Das Folgende ist ein Beispiel für die Dateistruktur, wenn Sie ein *Startskript* verwenden.

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

Wir empfehlen, diese Dateistrukturen im [Quellverzeichnis](service-source-code.md#service-source-code.source-directory) des Code-Repositorys zu speichern, das für den App Runner-Dienst vorgesehen ist.

```
/<sourceDirectory>/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**Wichtig**  
 Wenn Sie das [Code-Repository-Quellverzeichnis](service-source-code.md#service-source-code.source-directory) für Ihren App Runner-Dienst an einem anderen Ort als dem Standard-Repository-Stammverzeichnis angeben möchten, muss Ihre von PHP verwaltete Runtime-Version PHP `8.1.22` oder höher sein. Ältere PHP-Runtime-Versionen verwenden `8.1.22` möglicherweise nur das Standard-Root-Quellverzeichnis.   
App Runner aktualisiert die Laufzeit für Ihren Dienst bei jeder Bereitstellung oder jedem Service-Update auf die neueste Version. Ihr Dienst verwendet standardmäßig die neuesten Laufzeiten, es sei denn, Sie haben die Versionssperre mit dem `runtime-version` Schlüsselwort in der [App Runner-Konfigurationsdatei](config-file.md) angegeben.

## Beispiele für PHP-Runtime
<a name="service-source-code-php.examples"></a>

Im Folgenden finden Sie Beispiele für App Runner-Konfigurationsdateien, die zum Erstellen und Ausführen eines PHP-Dienstes verwendet werden. 

### Minimale PHP-Konfigurationsdatei
<a name="service-source-code-php.examples.minimal"></a>

Das folgende Beispiel ist eine Minimalkonfigurationsdatei, die Sie mit einer von PHP verwalteten Laufzeit verwenden können. Weitere Hinweise zu einer Minimalkonfigurationsdatei finden Sie unter[Beispiele für Konfigurationsdateien](config-file-examples.md#config-file-examples.managed).

**Example apprunner.yaml**  

```
version: 1.0 
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
```

### Erweiterte PHP-Konfigurationsdatei
<a name="service-source-code-php.examples.extended"></a>

Das folgende Beispiel verwendet alle Konfigurationsschlüssel mit einer von PHP verwalteten Laufzeit.

**Anmerkung**  
Die Runtime-Version, die in diesen Beispielen verwendet wird, ist*8.1.10*. Sie können sie durch eine Version ersetzen, die Sie verwenden möchten. Die neueste unterstützte PHP-Laufzeitversion finden Sie unter[Informationen zur PHP-Runtime-Version](service-source-code-php-releases.md).

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
     pre-build:
      - scripts/prebuild.sh
    build:
      - echo example build command for PHP
    post-build:
      - scripts/postbuild.sh
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
run:
  runtime-version: 8.1.10
  command: ./startup.sh
  network:
    port: 5000
    env: APP_PORT
  env:
    - name: MY_VAR_EXAMPLE
      value: "example"
```

### Vollständige PHP-Anwendungsquelle
<a name="service-source-code-php.examples.end2end"></a>

Die folgenden Beispiele zeigen den Quellcode von PHP-Anwendungen, den Sie verwenden können, um ihn mithilfe von *Apache HTTP Server*oder in einem PHP-Laufzeitdienst bereitzustellen *NGINX*. Bei diesen Beispielen wird davon ausgegangen, dass Sie die Standarddateistruktur verwenden.

#### Ausführen der PHP-Plattform Apache HTTP Server mit supervisord
<a name="service-source-code-php.examples.end2end.appache-supervisord"></a>

**Example Dateistruktur**  
+ Die `supervisord.conf` Datei kann an einer beliebigen Stelle im Repository gespeichert werden. Stellen Sie sicher, dass der `start` Befehl auf den Speicherort der `supervisord.conf` Datei verweist.
+ Das `index.php` muss in dem `public` Ordner unter dem `root` Verzeichnis installiert sein.

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

**Example supervisord.conf**  

```
[supervisord]
nodaemon=true

[program:httpd]
command=httpd -DFOREGROUND
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - PYTHON=python2 amazon-linux-extras install epel
      - yum -y install supervisor
run:
  command: supervisord
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### Ausführen der PHP-Plattform Apache HTTP Server mit startup script
<a name="service-source-code-php.examples.end2end.appache-startupscript"></a>

**Example Dateistruktur**  
+ Die `startup.sh` Datei kann an einer beliebigen Stelle im Repository gespeichert werden. Stellen Sie sicher, dass der `start` Befehl auf den Speicherort der `startup.sh` Datei verweist.
+ Das `index.php` muss in dem `public` Ordner unter dem `root` Verzeichnis installiert sein.

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**Example startup.sh**  

```
#!/bin/bash

set -o monitor

trap exit SIGCHLD

# Start apache
httpd -DFOREGROUND &

# Start php-fpm
php-fpm -F &

wait
```

**Anmerkung**  
Achte darauf, die `startup.sh` Datei als ausführbare Datei zu speichern, bevor du sie in ein Git-Repository übergibst. Verwenden Sie `chmod +x startup.sh` diese Option, um die Ausführungsberechtigung für Ihre `startup.sh` Datei festzulegen. 
Wenn Sie die `startup.sh` Datei nicht als ausführbare Datei speichern, geben Sie den Befehl `chmod +x startup.sh` als `build` Befehl in Ihre `apprunner.yaml` Datei ein. 

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### Ausführen der PHP-Plattform NGINX mit supervisord
<a name="service-source-code-php.examples.end2end.nginx-supervisord"></a>

**Example Dateistruktur**  
+ Die `supervisord.conf` Datei kann an einer beliebigen Stelle im Repository gespeichert werden. Stellen Sie sicher, dass der `start` Befehl auf den Speicherort der `supervisord.conf` Datei verweist.
+ Das `index.php` muss in dem `public` Ordner unter dem `root` Verzeichnis installiert sein.

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ supervisord.conf
```

**Example supervisord.conf**  

```
[supervisord]
nodaemon=true

[program:nginx]
command=nginx -g "daemon off;"
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0

[program:php-fpm]
command=php-fpm -F
autostart=true
autorestart=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
```

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - PYTHON=python2 amazon-linux-extras install epel
      - yum -y install supervisor
run:
  command: supervisord
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

#### Ausführen der PHP-Plattform NGINX mit startup script
<a name="service-source-code-php.examples.end2end.nginx-startupscript"></a>

**Example Dateistruktur**  
+ Die `startup.sh` Datei kann an einer beliebigen Stelle im Repository gespeichert werden. Stellen Sie sicher, dass der `start` Befehl auf den Speicherort der `startup.sh` Datei verweist. 
+ Das `index.php` muss in dem `public` Ordner unter dem `root` Verzeichnis installiert sein.

```
/
├─ public/
│  ├─ index.php
├─ apprunner.yaml
├─ startup.sh
```

**Example startup.sh**  

```
#!/bin/bash

set -o monitor

trap exit SIGCHLD

# Start nginx 
nginx -g 'daemon off;' &

# Start php-fpm
php-fpm -F &

wait
```

**Anmerkung**  
Achte darauf, die `startup.sh` Datei als ausführbare Datei zu speichern, bevor du sie in ein Git-Repository übergibst. Verwenden Sie `chmod +x startup.sh` diese Option, um die Ausführungsberechtigung für Ihre `startup.sh` Datei festzulegen. 
Wenn Sie die `startup.sh` Datei nicht als ausführbare Datei speichern, geben Sie den Befehl `chmod +x startup.sh` als `build` Befehl in Ihre `apprunner.yaml` Datei ein. 

**Example apprunner.yaml**  

```
version: 1.0
runtime: php81
build:
  commands:
    build:
      - echo example build command for PHP
run:
  command: ./startup.sh
  network:
    port: 8080
    env: APP_PORT
```

**Example index.php**  

```
<html>
<head> <title>First PHP App</title> </head>
<body>
<?php
    print("Hello World!");
    print("<br>");
?>
</body>
</html>
```

# Informationen zur PHP-Runtime-Version
<a name="service-source-code-php-releases"></a>

**Wichtig**  
App Runner wird den Support für **PHP 8.1** am 31. Dezember 2025 beenden. Empfehlungen und weitere Informationen finden Sie unter[Ende der Unterstützung für verwaltete Runtime-Versionen](service-source-code.md#service-source-code.managed-platforms.eos).

In diesem Thema werden die vollständigen Informationen zu den PHP-Laufzeitversionen aufgeführt, die App Runner unterstützt.


**Unterstützte Runtime-Versionen — originaler App Runner-Build**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/apprunner/latest/dg/service-source-code-php-releases.html)

**Anmerkung**  
App Runner bietet einen überarbeiteten Build-Prozess für bestimmte Hauptlaufzeiten, die in jüngerer Zeit veröffentlicht wurden. Aus diesem Grund finden Sie in bestimmten Abschnitten dieses Dokuments Verweise auf den *überarbeiteten App Runner-Build* *und den ursprünglichen App Runner-Build*. Weitere Informationen finden Sie unter [Verwaltete Runtime-Versionen und der App Runner-Build](service-source-code.md#service-source-code.build-detail).