

AWS App Runner não estará mais aberto a novos clientes a partir de 30 de abril de 2026. Se você quiser usar o App Runner, inscreva-se antes dessa data. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Mudança de disponibilidade do AWS App Runner](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Usar a plataforma PHP do
<a name="service-source-code-php"></a>

**Importante**  
O App Runner encerrará o suporte ao **PHP 8.1** em 31 de dezembro de 2025. Para obter recomendações e mais informações, consulte[Fim do suporte para versões de tempo de execução gerenciado](service-source-code.md#service-source-code.managed-platforms.eos).

A plataforma AWS App Runner PHP fornece tempos de execução gerenciados. Você pode usar cada tempo de execução para criar e executar contêineres com aplicativos web baseados em uma versão do PHP. Quando você usa um tempo de execução PHP, o App Runner começa com uma imagem de tempo de execução PHP gerenciada. Essa imagem é baseada na [imagem Docker do Amazon Linux](https://hub.docker.com/_/amazonlinux) e contém o pacote de tempo de execução para uma versão do PHP e algumas ferramentas. O App Runner usa essa imagem de tempo de execução gerenciada como imagem base e adiciona o código do aplicativo para criar uma imagem do Docker. Em seguida, ele implanta essa imagem para executar seu serviço web em um contêiner.

 Você especifica um tempo de execução para seu serviço App Runner ao [criar um serviço](manage-create.md) usando o console do App Runner ou a operação da [CreateService](https://docs.aws.amazon.com/apprunner/latest/api/API_CreateService.html)API. Você também pode especificar um tempo de execução como parte do seu código-fonte. Use a `runtime` palavra-chave em um [arquivo de configuração do App Runner](config-file.md) que você inclui no seu repositório de código. A convenção de nomenclatura de um tempo de execução gerenciado é*<language-name><major-version>*. 

Para nomes e versões válidos do tempo de execução do PHP, consulte[Informações sobre a versão do PHP runtime](service-source-code-php-releases.md).

O App Runner atualiza o tempo de execução do seu serviço para a versão mais recente em cada implantação ou atualização de serviço. Se seu aplicativo exigir uma versão específica de um tempo de execução gerenciado, você poderá especificá-la usando a `runtime-version` palavra-chave no [arquivo de configuração do App Runner](config-file.md). Você pode bloquear qualquer nível de versão, incluindo uma versão principal ou secundária. O App Runner só faz atualizações de nível inferior no tempo de execução do seu serviço.

Sintaxe da versão para tempos de execução do PHP: `major[.minor[.patch]]`

Por exemplo: `8.1.10`

Veja a seguir exemplos de bloqueio de versão:
+ `8.1`— Bloqueie as versões principais e secundárias. O App Runner atualiza somente as versões de patch.
+ `8.1.10`— Bloqueie uma versão específica do patch. O App Runner não atualiza sua versão de tempo de execução.

**Importante**  
 Se você quiser especificar o [diretório de origem](service-source-code.md#service-source-code.source-directory) do repositório de código para seu serviço App Runner em um local diferente do diretório raiz padrão do repositório, sua versão de tempo de execução gerenciada do PHP deve ser PHP `8.1.22` ou posterior. As versões de tempo de execução do PHP anteriores só `8.1.22` podem usar o diretório de origem raiz padrão. 

**Topics**
+ [Configuração de tempo de execução do PHP](#service-source-code-php.config)
+ [Compatibilidade](#service-source-code-php.compatibility)
+ [Exemplos de tempo de execução em PHP](#service-source-code-php.examples)
+ [Informações sobre a versão do PHP runtime](service-source-code-php-releases.md)

## Configuração de tempo de execução do PHP
<a name="service-source-code-php.config"></a>

Ao escolher um tempo de execução gerenciado, você também deve configurar, no mínimo, comandos de compilação e execução. Você os configura ao [criar](manage-create.md) ou [atualizar](manage-configure.md) seu serviço App Runner. Você pode fazer isso usando um dos seguintes métodos:
+ **Usando o console do App Runner** — Especifique os comandos na seção **Configurar compilação** do processo de criação ou da guia de configuração.
+ **Usando a API App Runner** — chame a operação [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. Especifique os comandos usando os `StartCommand` membros `BuildCommand` e do tipo de [CodeConfigurationValues](https://docs.aws.amazon.com/apprunner/latest/api/API_CodeConfigurationValues.html)dados.
+ **Usando um [arquivo de configuração](config-file.md)** — especifique um ou mais comandos de compilação em até três fases de compilação e um único comando de execução que serve para iniciar seu aplicativo. Há configurações opcionais adicionais.

Fornecer um arquivo de configuração é opcional. Ao criar um serviço App Runner usando o console ou a API, você especifica se o App Runner obtém suas configurações diretamente quando é criado ou de um arquivo de configuração.

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

Você pode executar seus serviços do App Runner na plataforma PHP usando um dos seguintes servidores web: 
+ Apache HTTP Server
+ NGINX

Apache HTTP Servere NGINX são compatíveis com PHP-FPM. Você pode iniciar o *Apache HTTP Server*e *NGINX*usando uma das seguintes opções:
+ [Supervisord](http://supervisord.org/introduction.html#supervisor-components/) - Para obter mais informações sobre como executar um *supervisord*, consulte [Executando](http://supervisord.org/running.html#running-supervisord) supervisord. 
+ Script de inicialização 

Para obter exemplos de como configurar seu serviço App Runner com a plataforma PHP usando o *Apache HTTP Server* ou *NGINX*, consulte. [Fonte completa do aplicativo PHP](#service-source-code-php.examples.end2end) 

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

O `index.php` deve ser instalado na `public` pasta abaixo do `root` diretório do servidor web. 

**nota**  
Recomendamos que os `supervisord.conf` arquivos `startup.sh` ou sejam armazenados no diretório raiz do servidor web. Certifique-se de que o `start` comando aponte para o local onde os `supervisord.conf` arquivos `startup.sh` ou estão armazenados.

 Veja a seguir um exemplo da estrutura do arquivo, se você estiver usando *supervisord*. 

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

Veja a seguir um exemplo da estrutura do arquivo se você estiver usando um *script de inicialização*.

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

Recomendamos que você armazene essas estruturas de arquivo no [diretório de origem](service-source-code.md#service-source-code.source-directory) do repositório de código designado para o serviço App Runner.

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

**Importante**  
 Se você quiser especificar o [diretório de origem](service-source-code.md#service-source-code.source-directory) do repositório de código para seu serviço App Runner em um local diferente do diretório raiz padrão do repositório, sua versão de tempo de execução gerenciada do PHP deve ser PHP `8.1.22` ou posterior. As versões de tempo de execução do PHP anteriores só `8.1.22` podem usar o diretório de origem raiz padrão.   
O App Runner atualiza o tempo de execução do seu serviço para a versão mais recente em cada implantação ou atualização de serviço. Seu serviço usará os tempos de execução mais recentes por padrão, a menos que você tenha especificado o bloqueio de versão usando a `runtime-version` palavra-chave no arquivo de configuração do [App Runner](config-file.md).

## Exemplos de tempo de execução em PHP
<a name="service-source-code-php.examples"></a>

Veja a seguir exemplos de arquivos de configuração do App Runner usados para criar e executar um serviço PHP. 

### Arquivo mínimo de configuração PHP
<a name="service-source-code-php.examples.minimal"></a>

O exemplo a seguir é um arquivo de configuração mínimo que você pode usar com um tempo de execução gerenciado por PHP. Para obter mais informações sobre um arquivo de configuração mínimo, consulte[Exemplos de arquivos de configuração](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
```

### Arquivo de configuração PHP estendido
<a name="service-source-code-php.examples.extended"></a>

O exemplo a seguir usa todas as chaves de configuração com um tempo de execução gerenciado por PHP.

**nota**  
A versão de tempo de execução usada nesses exemplos é*8.1.10*. Você pode substituí-lo por uma versão que você deseja usar. Para obter a versão mais recente do PHP em tempo de execução compatível, consulte[Informações sobre a versão do PHP runtime](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 do aplicativo PHP
<a name="service-source-code-php.examples.end2end"></a>

Os exemplos a seguir são do código-fonte do aplicativo PHP que você pode usar para implantar em um serviço de tempo de execução PHP usando *Apache HTTP Server*ou *NGINX*. Esses exemplos pressupõem que você use a estrutura de arquivo padrão.

#### Executando a plataforma PHP com Apache HTTP Server o uso supervisord
<a name="service-source-code-php.examples.end2end.appache-supervisord"></a>

**Example Estrutura do arquivo**  
+ O `supervisord.conf` arquivo pode ser armazenado em qualquer lugar do repositório. Certifique-se de que o `start` comando aponte para onde o `supervisord.conf` arquivo está armazenado.
+ O `index.php` deve ser instalado na `public` pasta abaixo do `root` diretório.

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

**Example supervisor.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>
```

#### Executando a plataforma PHP com Apache HTTP Server o uso startup script
<a name="service-source-code-php.examples.end2end.appache-startupscript"></a>

**Example Estrutura do arquivo**  
+ O `startup.sh` arquivo pode ser armazenado em qualquer lugar do repositório. Certifique-se de que o `start` comando aponte para onde o `startup.sh` arquivo está armazenado.
+ O `index.php` deve ser instalado na `public` pasta abaixo do `root` diretório.

```
/
├─ 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**  
Certifique-se de salvar o `startup.sh` arquivo como executável antes de confirmá-lo em um repositório Git. Use `chmod +x startup.sh` para definir a permissão de execução em seu `startup.sh` arquivo. 
Se você não salvar o `startup.sh` arquivo como executável, insira `chmod +x startup.sh` como `build` comando no seu `apprunner.yaml` arquivo. 

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

#### Executando a plataforma PHP com NGINX o uso supervisord
<a name="service-source-code-php.examples.end2end.nginx-supervisord"></a>

**Example Estrutura do arquivo**  
+ O `supervisord.conf` arquivo pode ser armazenado em qualquer lugar do repositório. Certifique-se de que o `start` comando aponte para onde o `supervisord.conf` arquivo está armazenado.
+ O `index.php` deve ser instalado na `public` pasta abaixo do `root` diretório.

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

**Example supervisor.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>
```

#### Executando a plataforma PHP com NGINX o uso startup script
<a name="service-source-code-php.examples.end2end.nginx-startupscript"></a>

**Example Estrutura do arquivo**  
+ O `startup.sh` arquivo pode ser armazenado em qualquer lugar do repositório. Certifique-se de que o `start` comando aponte para onde o `startup.sh` arquivo está armazenado. 
+ O `index.php` deve ser instalado na `public` pasta abaixo do `root` diretório.

```
/
├─ 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**  
Certifique-se de salvar o `startup.sh` arquivo como executável antes de confirmá-lo em um repositório Git. Use `chmod +x startup.sh` para definir a permissão de execução em seu `startup.sh` arquivo. 
Se você não salvar o `startup.sh` arquivo como executável, insira `chmod +x startup.sh` como `build` comando no seu `apprunner.yaml` arquivo. 

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

# Informações sobre a versão do PHP runtime
<a name="service-source-code-php-releases"></a>

**Importante**  
O App Runner encerrará o suporte ao **PHP 8.1** em 31 de dezembro de 2025. Para recomendações e mais informações, consulte[Fim do suporte para versões de tempo de execução gerenciado](service-source-code.md#service-source-code.managed-platforms.eos).

Este tópico lista os detalhes completos das versões de tempo de execução do PHP suportadas pelo App Runner.


**Versões de tempo de execução suportadas — versão original do App Runner**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/apprunner/latest/dg/service-source-code-php-releases.html)

**nota**  
O App Runner fornece um processo de criação revisado para os principais tempos de execução específicos que foram lançados mais recentemente. Por isso, você verá referências à *versão revisada do App Runner e à versão* *original do App Runner* em determinadas seções deste documento. Para obter mais informações, consulte [Versões de tempo de execução gerenciadas e a compilação do App Runner](service-source-code.md#service-source-code.build-detail).