

AWS App Runner non sarà più aperto a nuovi clienti a partire dal 30 aprile 2026. Se desideri utilizzare App Runner, registrati prima di tale data. I clienti esistenti possono continuare a utilizzare il servizio normalmente. Per ulteriori informazioni, consulta [AWS App Runner la pagina Modifica della disponibilità](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Utilizzo della piattaforma PHP di
<a name="service-source-code-php"></a>

**Importante**  
App Runner terminerà il supporto per **PHP 8.1** il 31 dicembre 2025. Per consigli e ulteriori informazioni, consulta. [Fine del supporto per le versioni di runtime gestite](service-source-code.md#service-source-code.managed-platforms.eos)

La piattaforma AWS App Runner PHP fornisce runtime gestiti. Puoi utilizzare ogni runtime per creare ed eseguire contenitori con applicazioni Web basate su una versione PHP. Quando si utilizza un runtime PHP, App Runner inizia con un'immagine di runtime PHP gestita. Questa immagine è basata sull'[immagine Docker di Amazon Linux](https://hub.docker.com/_/amazonlinux) e contiene il pacchetto di runtime per una versione di PHP e alcuni strumenti. App Runner utilizza questa immagine di runtime gestita come immagine di base e aggiunge il codice dell'applicazione per creare un'immagine Docker. Quindi distribuisce questa immagine per eseguire il servizio Web in un contenitore.

 Si specifica un runtime per il servizio App Runner quando si [crea un servizio](manage-create.md) utilizzando la console App Runner o l'[CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)operazione API. Puoi anche specificare un runtime come parte del codice sorgente. Usa la `runtime` parola chiave in un [file di configurazione di App Runner](config-file.md) che includi nel tuo repository di codice. La convenzione di denominazione di un runtime gestito è. *<language-name><major-version>* 

Per i nomi e le versioni di runtime PHP validi, vedere. [Informazioni sul rilascio del runtime PHP](service-source-code-php-releases.md)

App Runner aggiorna il runtime del servizio alla versione più recente a ogni distribuzione o aggiornamento del servizio. Se l'applicazione richiede una versione specifica di un runtime gestito, è possibile specificarla utilizzando la `runtime-version` parola chiave nel file di [configurazione di App Runner](config-file.md). È possibile utilizzare qualsiasi livello di versione, inclusa una versione principale o secondaria. App Runner effettua solo aggiornamenti di livello inferiore al runtime del servizio.

Sintassi della versione per i runtime PHP: `major[.minor[.patch]]`

Ad esempio: `8.1.10`

Di seguito sono riportati alcuni esempi di blocco delle versioni:
+ `8.1`— Blocca le versioni principali e secondarie. App Runner aggiorna solo le versioni patch.
+ `8.1.10`— Blocca a una versione di patch specifica. App Runner non aggiorna la tua versione di runtime.

**Importante**  
 Se desideri specificare la [directory sorgente](service-source-code.md#service-source-code.source-directory) del repository di codice per il tuo servizio App Runner in una posizione diversa dalla directory principale del repository predefinita, la versione del runtime gestito da PHP deve essere PHP o successiva. `8.1.22` Le versioni di runtime PHP precedenti `8.1.22` possono utilizzare solo la directory principale dei sorgenti predefinita. 

**Topics**
+ [Configurazione del runtime PHP](#service-source-code-php.config)
+ [Compatibilità](#service-source-code-php.compatibility)
+ [Esempi di runtime PHP](#service-source-code-php.examples)
+ [Informazioni sul rilascio del runtime PHP](service-source-code-php-releases.md)

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

Quando scegli un runtime gestito, devi anche configurare, come minimo, creare ed eseguire comandi. Li configuri durante la [creazione](manage-create.md) o [l'aggiornamento del](manage-configure.md) servizio App Runner. Puoi farlo utilizzando uno dei seguenti metodi:
+ **Utilizzo della console App Runner**: specifica i comandi nella sezione **Configure build** del processo di creazione o della scheda di configurazione.
+ **Utilizzo dell'API App Runner**: richiama l'operazione [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)or [UpdateService](https://docs.aws.amazon.com/apprunner/latest/api/API_UpdateService.html)API. Specificate i comandi utilizzando i `StartCommand` membri `BuildCommand` e del tipo di [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)dati.
+ **Utilizzo di un [file di configurazione](config-file.md)**: specifica uno o più comandi di compilazione in un massimo di tre fasi di compilazione e un singolo comando di esecuzione che serve per avviare l'applicazione. Sono disponibili impostazioni di configurazione opzionali aggiuntive.

Fornire un file di configurazione è facoltativo. Quando crei un servizio App Runner utilizzando la console o l'API, specifichi se App Runner ottiene le impostazioni di configurazione direttamente al momento della creazione o da un file di configurazione.

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

È possibile eseguire i servizi App Runner sulla piattaforma PHP utilizzando uno dei seguenti server Web: 
+ Apache HTTP Server
+ NGINX

Apache HTTP Servere NGINX sono compatibili con PHP-FPM. È possibile avviare *Apache HTTP Server*e *NGINX*utilizzando uno dei seguenti:
+ [Supervisord](http://supervisord.org/introduction.html#supervisor-components/): per ulteriori informazioni sull'esecuzione di un *supervisord*, vedere [Running supervisord](http://supervisord.org/running.html#running-supervisord). 
+ Script di avvio 

Per esempi su come configurare il servizio App Runner con la piattaforma PHP utilizzando *Apache HTTP Server* o *NGINX*, vedi. [Fonte completa dell'applicazione PHP](#service-source-code-php.examples.end2end) 

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

`index.php`Deve essere installato nella `public` cartella sotto la `root` directory del server web. 

**Nota**  
Si consiglia di archiviare `supervisord.conf` i file `startup.sh` or nella directory principale del server Web. Assicuratevi che il `start` comando punti alla posizione in cui sono archiviati `supervisord.conf` i file `startup.sh` or.

 Di seguito è riportato un esempio della struttura del file, se si utilizza *supervisord*. 

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

Di seguito è riportato un esempio della struttura del file se si utilizza *uno script di avvio*.

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

Si consiglia di archiviare queste strutture di file nella [directory dei sorgenti](service-source-code.md#service-source-code.source-directory) del repository di codice designata per il servizio App Runner.

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

**Importante**  
 Se desideri specificare la [directory sorgente del repository di codice per il servizio App Runner in una posizione diversa dalla directory](service-source-code.md#service-source-code.source-directory) principale del repository predefinita, la versione del runtime gestito da PHP deve essere PHP o successiva. `8.1.22` Le versioni di runtime PHP precedenti `8.1.22` possono utilizzare solo la directory principale dei sorgenti predefinita.   
App Runner aggiorna il runtime del servizio alla versione più recente a ogni distribuzione o aggiornamento del servizio. Il servizio utilizzerà i runtime più recenti per impostazione predefinita, a meno che non sia stato specificato il blocco della versione utilizzando la `runtime-version` parola chiave nel file di configurazione di [App Runner](config-file.md).

## Esempi di runtime PHP
<a name="service-source-code-php.examples"></a>

Di seguito sono riportati alcuni esempi di file di configurazione di App Runner utilizzati per creare ed eseguire un servizio PHP. 

### File di configurazione PHP minimo
<a name="service-source-code-php.examples.minimal"></a>

L'esempio seguente è un file di configurazione minimo che è possibile utilizzare con un runtime gestito da PHP. Per ulteriori informazioni su un file di configurazione minimo, vedere[Esempi di file di configurazione](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
```

### File di configurazione PHP esteso
<a name="service-source-code-php.examples.extended"></a>

L'esempio seguente utilizza tutte le chiavi di configurazione con un runtime gestito da PHP.

**Nota**  
La versione di runtime utilizzata in questi esempi è*8.1.10*. Puoi sostituirla con una versione che desideri utilizzare. Per l'ultima versione di runtime PHP supportata, vedi[Informazioni sul rilascio del runtime 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"
```

### Fonte completa dell'applicazione PHP
<a name="service-source-code-php.examples.end2end"></a>

I seguenti esempi sono del codice sorgente di un'applicazione PHP che è possibile utilizzare per la distribuzione su un servizio di runtime PHP utilizzando o. *Apache HTTP Server*NGINX** Questi esempi presuppongono che si utilizzi la struttura di file predefinita.

#### Esecuzione della piattaforma PHP con utilizzo Apache HTTP Server supervisord
<a name="service-source-code-php.examples.end2end.appache-supervisord"></a>

**Example Struttura dei file**  
+ Il `supervisord.conf` file può essere archiviato ovunque nel repository. Assicurati che il `start` comando punti alla posizione in cui è archiviato il `supervisord.conf` file.
+ `index.php`Deve essere installato nella `public` cartella sotto la `root` directory.

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

#### Esecuzione della piattaforma PHP con utilizzo Apache HTTP Server startup script
<a name="service-source-code-php.examples.end2end.appache-startupscript"></a>

**Example Struttura dei file**  
+ Il `startup.sh` file può essere archiviato ovunque nel repository. Assicurati che il `start` comando punti alla posizione in cui è archiviato il `startup.sh` file.
+ `index.php`Deve essere installato nella `public` cartella sotto la `root` directory.

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

**Nota**  
Assicurati di salvare il `startup.sh` file come eseguibile prima di salvarlo in un repository Git. Utilizzalo `chmod +x startup.sh` per impostare l'autorizzazione di esecuzione sul tuo `startup.sh` file. 
Se non salvate il `startup.sh` file come eseguibile, `chmod +x startup.sh` immettetelo come `build` comando nel `apprunner.yaml` file. 

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

#### Esecuzione della piattaforma PHP con utilizzo NGINX supervisord
<a name="service-source-code-php.examples.end2end.nginx-supervisord"></a>

**Example Struttura dei file**  
+ Il `supervisord.conf` file può essere archiviato ovunque nel repository. Assicurati che il `start` comando punti alla posizione in cui è archiviato il `supervisord.conf` file.
+ `index.php`Deve essere installato nella `public` cartella sotto la `root` directory.

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

#### Esecuzione della piattaforma PHP con utilizzo NGINX startup script
<a name="service-source-code-php.examples.end2end.nginx-startupscript"></a>

**Example Struttura dei file**  
+ Il `startup.sh` file può essere archiviato ovunque nel repository. Assicurati che il `start` comando punti alla posizione in cui è archiviato il `startup.sh` file. 
+ `index.php`Deve essere installato nella `public` cartella sotto la `root` directory.

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

**Nota**  
Assicurati di salvare il `startup.sh` file come eseguibile prima di salvarlo in un repository Git. Utilizzalo `chmod +x startup.sh` per impostare l'autorizzazione di esecuzione sul tuo `startup.sh` file. 
Se non salvate il `startup.sh` file come eseguibile, `chmod +x startup.sh` immettetelo come `build` comando nel `apprunner.yaml` file. 

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

# Informazioni sul rilascio del runtime PHP
<a name="service-source-code-php-releases"></a>

**Importante**  
App Runner terminerà il supporto per **PHP 8.1** il 31 dicembre 2025. Per consigli e ulteriori informazioni, consulta. [Fine del supporto per le versioni di runtime gestite](service-source-code.md#service-source-code.managed-platforms.eos)

Questo argomento elenca i dettagli completi per le versioni di runtime PHP supportate da App Runner.


**Versioni di runtime supportate: build originale di App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/apprunner/latest/dg/service-source-code-php-releases.html)

**Nota**  
App Runner fornisce un processo di compilazione rivisto per i principali runtime specifici che sono stati rilasciati più di recente. Per questo motivo, in alcune sezioni di questo documento vedrai riferimenti alla build di *App Runner rivista e alla build* *originale di App Runner*. Per ulteriori informazioni, consulta [Versioni di runtime gestite e build di App Runner](service-source-code.md#service-source-code.build-detail).