

AWS App Runner ne sera plus ouvert aux nouveaux clients à compter du 30 avril 2026. Si vous souhaitez utiliser App Runner, inscrivez-vous avant cette date. Les clients existants peuvent continuer à utiliser le service normalement. Pour plus d'informations, consultez [AWS App Runner la section Modification de la disponibilité](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# À l'aide de la plateforme PHP
<a name="service-source-code-php"></a>

**Important**  
App Runner mettra fin au support de **PHP 8.1** le 31 décembre 2025. Pour des recommandations et de plus amples informations, consultez[Fin du support pour les versions d'exécution gérées](service-source-code.md#service-source-code.managed-platforms.eos).

La plateforme AWS App Runner PHP fournit des environnements d'exécution gérés. Vous pouvez utiliser chaque environnement d'exécution pour créer et exécuter des conteneurs avec des applications Web basées sur une version de PHP. Lorsque vous utilisez un environnement d'exécution PHP, App Runner démarre avec une image d'exécution PHP gérée. Cette image est basée sur l'[image Docker d'Amazon Linux](https://hub.docker.com/_/amazonlinux) et contient le package d'exécution pour une version de PHP et certains outils. App Runner utilise cette image d'exécution gérée comme image de base et ajoute le code de votre application pour créer une image Docker. Il déploie ensuite cette image pour exécuter votre service Web dans un conteneur.

 Vous spécifiez un environnement d'exécution pour votre service App Runner lorsque vous [créez un service](manage-create.md) à l'aide de la console App Runner ou de l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. Vous pouvez également spécifier un environnement d'exécution dans le cadre de votre code source. Utilisez le `runtime` mot clé dans un [fichier de configuration App Runner](config-file.md) que vous incluez dans votre référentiel de code. La convention de dénomination d'un environnement d'exécution géré est*<language-name><major-version>*. 

Pour les noms et versions d'exécution PHP valides, consultez[Informations sur la version d'exécution de PHP](service-source-code-php-releases.md).

App Runner met à jour le moteur d'exécution de votre service avec la dernière version à chaque déploiement ou mise à jour de service. Si votre application nécessite une version spécifique d'un environnement d'exécution géré, vous pouvez le spécifier à l'aide du `runtime-version` mot clé dans le [fichier de configuration d'App Runner](config-file.md). Vous pouvez verrouiller n'importe quel niveau de version, y compris une version majeure ou mineure. App Runner apporte uniquement des mises à jour de niveau inférieur à l'environnement d'exécution de votre service.

Syntaxe de version pour les environnements d'exécution PHP : `major[.minor[.patch]]`

Par exemple : `8.1.10`

Voici des exemples de verrouillage de version :
+ `8.1`— Verrouillez les versions majeures et mineures. App Runner met à jour uniquement les versions de correctif.
+ `8.1.10`— Verrouillez vers une version de correctif spécifique. App Runner ne met pas à jour votre version d'exécution.

**Important**  
 Si vous souhaitez spécifier le [répertoire source](service-source-code.md#service-source-code.source-directory) du référentiel de code pour votre service App Runner dans un emplacement autre que le répertoire racine du dépôt par défaut, votre version d'exécution gérée de PHP doit être PHP `8.1.22` ou une version ultérieure. Les versions d'exécution de PHP antérieures ne `8.1.22` peuvent utiliser que le répertoire source racine par défaut. 

**Topics**
+ [Configuration de l'environnement d'exécution PHP](#service-source-code-php.config)
+ [Compatibilité](#service-source-code-php.compatibility)
+ [Exemples d'exécution PHP](#service-source-code-php.examples)
+ [Informations sur la version d'exécution de PHP](service-source-code-php-releases.md)

## Configuration de l'environnement d'exécution PHP
<a name="service-source-code-php.config"></a>

Lorsque vous choisissez un environnement d'exécution géré, vous devez également configurer, au minimum, créer et exécuter des commandes. Vous les configurez lors de [la création](manage-create.md) ou de la [mise à jour](manage-configure.md) de votre service App Runner. Pour ce faire, vous pouvez utiliser l'une des méthodes suivantes :
+ **Utilisation de la console App Runner** : spécifiez les commandes dans la section **Configurer le build** de l'onglet Processus de création ou configuration.
+ **Utilisation de l'API App Runner** : appelez l'opération [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)ou [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Spécifiez les commandes à l'aide des `StartCommand` membres `BuildCommand` et du type de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)données.
+ **Utilisation d'un [fichier de configuration](config-file.md)** : spécifiez une ou plusieurs commandes de génération en trois phases de génération au maximum, ainsi qu'une seule commande d'exécution servant à démarrer votre application. Il existe d'autres paramètres de configuration facultatifs.

La fourniture d'un fichier de configuration est facultative. Lorsque vous créez un service App Runner à l'aide de la console ou de l'API, vous spécifiez si App Runner obtient vos paramètres de configuration directement lors de sa création ou à partir d'un fichier de configuration.

## Compatibilité
<a name="service-source-code-php.compatibility"></a>

Vous pouvez exécuter vos services App Runner sur la plateforme PHP en utilisant l'un des serveurs Web suivants : 
+ Apache HTTP Server
+ NGINX

Apache HTTP Serveret NGINX sont compatibles avec PHP-FPM. Vous pouvez démarrer *Apache HTTP Server*et *NGINX*en utilisant l'une des méthodes suivantes :
+ [Supervisord](http://supervisord.org/introduction.html#supervisor-components/) - Pour plus d'informations sur l'exécution d'un superviseur *supervisord*, consultez [Exécuter un superviseur](http://supervisord.org/running.html#running-supervisord). 
+ Script de démarrage 

Pour des exemples sur la façon de configurer votre service App Runner avec la plate-forme PHP à l'aide *du serveur HTTP Apache* ou de *NGINX, consultez*. [Source complète de l'application PHP](#service-source-code-php.examples.end2end) 

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

`index.php`Il doit être installé dans le `public` dossier situé sous le `root` répertoire du serveur Web. 

**Note**  
Nous recommandons de stocker `supervisord.conf` les fichiers `startup.sh` or dans le répertoire racine du serveur Web. Assurez-vous que la `start` commande pointe vers l'emplacement où les `supervisord.conf` fichiers `startup.sh` ou sont stockés.

 Voici un exemple de structure de fichier que vous utilisez *supervisord*. 

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

Voici un exemple de structure de fichier si vous utilisez un *script de démarrage*.

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

Nous vous recommandons de stocker ces structures de fichiers dans le [répertoire source](service-source-code.md#service-source-code.source-directory) du référentiel de code désigné pour le service App Runner.

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

**Important**  
 Si vous souhaitez spécifier le [répertoire source](service-source-code.md#service-source-code.source-directory) du référentiel de code pour votre service App Runner dans un emplacement autre que le répertoire racine du dépôt par défaut, votre version d'exécution gérée de PHP doit être PHP `8.1.22` ou une version ultérieure. Les versions d'exécution de PHP antérieures ne `8.1.22` peuvent utiliser que le répertoire source racine par défaut.   
App Runner met à jour le moteur d'exécution de votre service avec la dernière version à chaque déploiement ou mise à jour de service. Votre service utilisera les environnements d'exécution les plus récents par défaut, sauf si vous avez spécifié le verrouillage de version à l'aide du `runtime-version` mot clé dans le [fichier de configuration d'App Runner](config-file.md).

## Exemples d'exécution PHP
<a name="service-source-code-php.examples"></a>

Voici des exemples de fichiers de configuration App Runner utilisés pour créer et exécuter un service PHP. 

### Fichier de configuration PHP minimal
<a name="service-source-code-php.examples.minimal"></a>

L'exemple suivant est un fichier de configuration minimale que vous pouvez utiliser avec un environnement d'exécution géré en PHP. Pour plus d'informations sur un fichier de configuration minimale, consultez[Exemples de fichiers de configuration](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
```

### Fichier de configuration PHP étendu
<a name="service-source-code-php.examples.extended"></a>

L'exemple suivant utilise toutes les clés de configuration avec un environnement d'exécution géré par PHP.

**Note**  
La version d'exécution utilisée dans ces exemples est*8.1.10*. Vous pouvez le remplacer par la version que vous souhaitez utiliser. Pour la dernière version d'exécution de PHP prise en charge, voir[Informations sur la version d'exécution de PHP](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"
```

### Source complète de l'application PHP
<a name="service-source-code-php.examples.end2end"></a>

Les exemples suivants concernent le code source d'une application PHP que vous pouvez utiliser pour déployer sur un service d'exécution PHP à l'aide de *Apache HTTP Server*ou *NGINX*. Ces exemples supposent que vous utilisez la structure de fichier par défaut.

#### Exécution de la plate-forme PHP en Apache HTTP Server utilisant supervisord
<a name="service-source-code-php.examples.end2end.appache-supervisord"></a>

**Example Structure de fichier**  
+ Le `supervisord.conf` fichier peut être stocké n'importe où dans le référentiel. Assurez-vous que la `start` commande pointe vers l'endroit où le `supervisord.conf` fichier est stocké.
+ `index.php`Il doit être installé dans le `public` dossier situé sous le `root` répertoire.

```
/
├─ 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>
```

#### Exécution de la plate-forme PHP en Apache HTTP Server utilisant startup script
<a name="service-source-code-php.examples.end2end.appache-startupscript"></a>

**Example Structure de fichier**  
+ Le `startup.sh` fichier peut être stocké n'importe où dans le référentiel. Assurez-vous que la `start` commande pointe vers l'endroit où le `startup.sh` fichier est stocké.
+ `index.php`Il doit être installé dans le `public` dossier situé sous le `root` répertoire.

```
/
├─ 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
```

**Note**  
Assurez-vous d'enregistrer le `startup.sh` fichier en tant qu'exécutable avant de le valider dans un dépôt Git. `chmod +x startup.sh`À utiliser pour définir l'autorisation d'exécution sur votre `startup.sh` fichier. 
Si vous n'enregistrez pas le `startup.sh` fichier en tant qu'exécutable, entrez `chmod +x startup.sh` la `build` commande dans votre `apprunner.yaml` fichier. 

**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>
```

#### Exécution de la plate-forme PHP en NGINX utilisant supervisord
<a name="service-source-code-php.examples.end2end.nginx-supervisord"></a>

**Example Structure de fichier**  
+ Le `supervisord.conf` fichier peut être stocké n'importe où dans le référentiel. Assurez-vous que la `start` commande pointe vers l'endroit où le `supervisord.conf` fichier est stocké.
+ `index.php`Il doit être installé dans le `public` dossier situé sous le `root` répertoire.

```
/
├─ 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>
```

#### Exécution de la plate-forme PHP en NGINX utilisant startup script
<a name="service-source-code-php.examples.end2end.nginx-startupscript"></a>

**Example Structure de fichier**  
+ Le `startup.sh` fichier peut être stocké n'importe où dans le référentiel. Assurez-vous que la `start` commande pointe vers l'endroit où le `startup.sh` fichier est stocké. 
+ `index.php`Il doit être installé dans le `public` dossier situé sous le `root` répertoire.

```
/
├─ 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
```

**Note**  
Assurez-vous d'enregistrer le `startup.sh` fichier en tant qu'exécutable avant de le valider dans un dépôt Git. `chmod +x startup.sh`À utiliser pour définir l'autorisation d'exécution sur votre `startup.sh` fichier. 
Si vous n'enregistrez pas le `startup.sh` fichier en tant qu'exécutable, entrez `chmod +x startup.sh` la `build` commande dans votre `apprunner.yaml` fichier. 

**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>
```

# Informations sur la version d'exécution de PHP
<a name="service-source-code-php-releases"></a>

**Important**  
App Runner mettra fin au support de **PHP 8.1** le 31 décembre 2025. Pour des recommandations et de plus amples informations, consultez[Fin du support pour les versions d'exécution gérées](service-source-code.md#service-source-code.managed-platforms.eos).

Cette rubrique répertorie tous les détails des versions d'exécution de PHP prises en charge par App Runner.


**Versions d'exécution prises en charge : version originale d'App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/apprunner/latest/dg/service-source-code-php-releases.html)

**Note**  
App Runner fournit un processus de compilation révisé pour des environnements d'exécution majeurs spécifiques qui ont été publiés plus récemment. Pour cette raison, vous verrez des références à la *version révisée d'App Runner et à la version* *originale d'App Runner* dans certaines sections de ce document. Pour plus d'informations, consultez [Versions d'exécution gérées et build d'App Runner](service-source-code.md#service-source-code.build-detail).