Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Uso de la plataforma PHP de - AWS App Runner

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la plataforma PHP de

La plataforma AWS App Runner PHP proporciona tiempos de ejecución gestionados. Puede usar cada tiempo de ejecución para crear y ejecutar contenedores con aplicaciones web basadas en una versión de PHP. Cuando utilizas un entorno de ejecución de PHP, App Runner comienza con una imagen de tiempo de ejecución de PHP gestionada. Esta imagen se basa en la imagen de Docker de Amazon Linux y contiene el paquete de tiempo de ejecución de una versión de PHP y algunas herramientas. App Runner usa esta imagen de tiempo de ejecución administrada como imagen base y agrega el código de la aplicación para crear una imagen de Docker. A continuación, implementa esta imagen para ejecutar el servicio web en un contenedor.

Usted especifica un tiempo de ejecución para su servicio de App Runner al crear un servicio mediante la consola de App Runner o la operación de la CreateServiceAPI. También puedes especificar un tiempo de ejecución como parte de tu código fuente. Usa la runtime palabra clave en un archivo de configuración de App Runner que incluyas en tu repositorio de código. La convención de nomenclatura de un tiempo de ejecución gestionado es. <language-name><major-version>

Para obtener nombres y versiones de tiempo de ejecución de PHP válidos, consultePHPinformación de versión en tiempo de ejecución.

App Runner actualiza el tiempo de ejecución del servicio a la versión más reciente en cada implementación o actualización del servicio. Si su aplicación requiere una versión específica de un tiempo de ejecución administrado, puede especificarla mediante la runtime-version palabra clave del archivo de configuración de App Runner. Puedes bloquearla en cualquier nivel de versión, incluida una versión principal o secundaria. App Runner solo realiza actualizaciones de nivel inferior en el tiempo de ejecución de tu servicio.

Sintaxis de la versión para los tiempos de ejecución de PHP: major[.minor[.patch]]

Por ejemplo: 8.1.10

Los siguientes son ejemplos de bloqueo de versiones:

  • 8.1— Bloquee las versiones principales y secundarias. App Runner actualiza solo las versiones con parches.

  • 8.1.10— Bloquear una versión de parche específica. App Runner no actualiza tu versión en tiempo de ejecución.

importante

Si quieres especificar el directorio fuente del repositorio de código para tu servicio de App Runner en una ubicación distinta del directorio raíz del repositorio predeterminado, la versión de ejecución gestionada por PHP debe ser PHP 8.1.22 o posterior. Las versiones de tiempo de ejecución de PHP anteriores a solo 8.1.22 pueden usar el directorio fuente raíz predeterminado.

Configuración del tiempo de ejecución de PHP

Al elegir un tiempo de ejecución gestionado, también debe configurar, como mínimo, los comandos de compilación y ejecución. Los configuras al crear o actualizar tu servicio App Runner. Puede hacerlo mediante uno de los siguientes métodos:

  • Mediante la consola de App Runner: especifique los comandos en la sección Configurar compilación del proceso de creación o en la pestaña de configuración.

  • Uso de la API de App Runner: llame a la operación CreateServiceo UpdateServiceAPI. Especifique los comandos mediante los StartCommand miembros BuildCommand y del tipo de CodeConfigurationValuesdatos.

  • Uso de un archivo de configuración: especifique uno o más comandos de compilación en un máximo de tres fases de compilación y un solo comando de ejecución que sirva para iniciar la aplicación. Hay opciones de configuración opcionales adicionales.

El suministro de un archivo de configuración es opcional. Al crear un servicio de App Runner mediante la consola o la API, debe especificar si App Runner obtiene los ajustes de configuración directamente al crearlos o de un archivo de configuración.

Compatibilidad

Puedes ejecutar tus servicios de App Runner en la plataforma PHP mediante uno de los siguientes servidores web:

  • Apache HTTP Server

  • NGINX

Apache HTTP Servery NGINX son compatibles con PHP-FPM. Puede iniciar Apache HTTP Servery NGINXmediante una de las siguientes opciones:

  • Supervisord: para obtener más información sobre la ejecución de un supervisord, consulte Ejecutar supervisord.

  • Script de inicio

Para ver ejemplos sobre cómo configurar el servicio App Runner con la plataforma PHP mediante el servidor HTTP Apache o NGINX, consulte. Fuente completa de la aplicación PHP

Estructura de archivos

index.phpDebe estar instalado en la public carpeta del root directorio del servidor web.

nota

Se recomienda almacenar los supervisord.conf archivos startup.sh o en el directorio raíz del servidor web. Asegúrese de que el start comando apunte a la ubicación en la que están almacenados supervisord.conf los archivos startup.sh o.

A continuación se muestra un ejemplo de la estructura de archivos que está utilizando supervisord.

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

El siguiente es un ejemplo de la estructura de archivos si utiliza un script de inicio.

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

Se recomienda almacenar estas estructuras de archivos en el directorio fuente del repositorio de código designado para el servicio App Runner.

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

Si quieres especificar el directorio fuente del repositorio de código para tu servicio de App Runner en una ubicación que no sea el directorio raíz del repositorio predeterminado, tu versión de tiempo de ejecución gestionado por PHP debe ser PHP 8.1.22 o posterior. Las versiones de tiempo de ejecución de PHP anteriores a solo 8.1.22 pueden usar el directorio fuente raíz predeterminado.

App Runner actualiza el tiempo de ejecución de tu servicio a la última versión en cada implementación o actualización del servicio. Su servicio utilizará los tiempos de ejecución más recientes de forma predeterminada, a menos que haya especificado el bloqueo de versiones con la runtime-version palabra clave del archivo de configuración de App Runner.

Ejemplos de tiempos de ejecución de PHP

A continuación, se muestran ejemplos de archivos de configuración de App Runner que se utilizan para crear y ejecutar un servicio PHP.

El siguiente ejemplo es un archivo de configuración mínimo que puede utilizar con un entorno de ejecución gestionado por PHP. Para obtener más información sobre un archivo de configuración mínima, consulteEjemplos de archivos de configuración.

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

Archivo de configuración de PHP mínimo

El siguiente ejemplo es un archivo de configuración mínimo que puede utilizar con un entorno de ejecución gestionado por PHP. Para obtener más información sobre un archivo de configuración mínima, consulteEjemplos de archivos de configuración.

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

El siguiente ejemplo utiliza todas las claves de configuración con un tiempo de ejecución gestionado por PHP.

nota

La versión de tiempo de ejecución que se utiliza en estos ejemplos es la 8.1.10. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de PHP compatible, consultePHPinformación de versión en tiempo de ejecución.

ejemplo 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"

El siguiente ejemplo utiliza todas las claves de configuración con un tiempo de ejecución gestionado por PHP.

nota

La versión de tiempo de ejecución que se utiliza en estos ejemplos es la 8.1.10. Puede sustituirla por la versión que desee utilizar. Para ver la última versión de tiempo de ejecución de PHP compatible, consultePHPinformación de versión en tiempo de ejecución.

ejemplo 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"

Los siguientes ejemplos son del código fuente de una aplicación PHP que puede usar para implementar en un servicio de tiempo de ejecución de PHP usando Apache HTTP Servero NGINX. En estos ejemplos se supone que se utiliza la estructura de archivos predeterminada.

Ejecutar la plataforma PHP con Apache HTTP Server el uso supervisord

ejemplo Estructura de archivos
nota
  • El supervisord.conf archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el supervisord.conf archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ supervisord.conf
ejemplo 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
ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con Apache HTTP Server el uso startup script

ejemplo Estructura de archivos
nota
  • El startup.sh archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el startup.sh archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ startup.sh
ejemplo startup.sh
#!/bin/bash set -o monitor trap exit SIGCHLD # Start apache httpd -DFOREGROUND & # Start php-fpm php-fpm -F & wait
nota
  • Asegúrate de guardar el startup.sh archivo como ejecutable antes de enviarlo a un repositorio de Git. Se usa chmod +x startup.sh para establecer el permiso de ejecución en startup.sh el archivo.

  • Si no guarda el startup.sh archivo como ejecutable, chmod +x startup.sh introdúzcalo como build comando en el apprunner.yaml archivo.

ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con NGINX el uso supervisord

ejemplo Estructura de archivos
nota
  • El supervisord.conf archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el supervisord.conf archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ supervisord.conf
ejemplo 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
ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con NGINX el uso startup script

ejemplo Estructura de archivos
nota
  • El startup.sh archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el startup.sh archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ startup.sh
ejemplo startup.sh
#!/bin/bash set -o monitor trap exit SIGCHLD # Start nginx nginx -g 'daemon off;' & # Start php-fpm php-fpm -F & wait
nota
  • Asegúrate de guardar el startup.sh archivo como ejecutable antes de enviarlo a un repositorio de Git. Se usa chmod +x startup.sh para establecer el permiso de ejecución en startup.sh el archivo.

  • Si no guarda el startup.sh archivo como ejecutable, chmod +x startup.sh introdúzcalo como build comando en el apprunner.yaml archivo.

ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Los siguientes ejemplos son del código fuente de una aplicación PHP que puede usar para implementar en un servicio de tiempo de ejecución de PHP usando Apache HTTP Servero NGINX. En estos ejemplos se supone que se utiliza la estructura de archivos predeterminada.

Ejecutar la plataforma PHP con Apache HTTP Server el uso supervisord

ejemplo Estructura de archivos
nota
  • El supervisord.conf archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el supervisord.conf archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ supervisord.conf
ejemplo 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
ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con Apache HTTP Server el uso startup script

ejemplo Estructura de archivos
nota
  • El startup.sh archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el startup.sh archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ startup.sh
ejemplo startup.sh
#!/bin/bash set -o monitor trap exit SIGCHLD # Start apache httpd -DFOREGROUND & # Start php-fpm php-fpm -F & wait
nota
  • Asegúrate de guardar el startup.sh archivo como ejecutable antes de enviarlo a un repositorio de Git. Se usa chmod +x startup.sh para establecer el permiso de ejecución en startup.sh el archivo.

  • Si no guarda el startup.sh archivo como ejecutable, chmod +x startup.sh introdúzcalo como build comando en el apprunner.yaml archivo.

ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con NGINX el uso supervisord

ejemplo Estructura de archivos
nota
  • El supervisord.conf archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el supervisord.conf archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ supervisord.conf
ejemplo 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
ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>

Ejecutar la plataforma PHP con NGINX el uso startup script

ejemplo Estructura de archivos
nota
  • El startup.sh archivo se puede almacenar en cualquier parte del repositorio. Asegúrese de que el start comando apunta al lugar donde está almacenado el startup.sh archivo.

  • index.phpDebe estar instalado en la public carpeta situada debajo del root directorio.

/ ├─ public/ │ ├─ index.php ├─ apprunner.yaml ├─ startup.sh
ejemplo startup.sh
#!/bin/bash set -o monitor trap exit SIGCHLD # Start nginx nginx -g 'daemon off;' & # Start php-fpm php-fpm -F & wait
nota
  • Asegúrate de guardar el startup.sh archivo como ejecutable antes de enviarlo a un repositorio de Git. Se usa chmod +x startup.sh para establecer el permiso de ejecución en startup.sh el archivo.

  • Si no guarda el startup.sh archivo como ejecutable, chmod +x startup.sh introdúzcalo como build comando en el apprunner.yaml archivo.

ejemplo 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
ejemplo index.php
<html> <head> <title>First PHP App</title> </head> <body> <?php print("Hello World!"); print("<br>"); ?> </body> </html>
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.