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 Elastic Beanstalk
En este tema se describe cómo configurar, crear y ejecutar PHP las aplicaciones en Elastic Beanstalk.
AWS Elastic Beanstalk admite varias ramas de plataforma para diferentes versiones del lenguaje de programación. PHP Estas plataformas admiten aplicaciones PHP web que pueden ejecutarse solas o con Composer. Consulte PHPel documento sobre AWS Elastic Beanstalk plataformas para obtener una lista completa de las ramas de plataforma compatibles.
Elastic Beanstalk proporciona opciones de configuración que puede usar para personalizar el software que se ejecuta EC2 en las instancias de su entorno de Elastic Beanstalk. Puede configurar las variables de entorno requeridas por su aplicación, habilitar la rotación de registros a Amazon S3, asignar carpetas de la fuente de la aplicación que contienen archivos estáticos a las rutas servidas por el servidor proxy y establecer ajustes de PHP inicialización comunes.
En la consola de Elastic Beanstalk hay opciones de configuración disponibles para modificar la configuración de un entorno en ejecución. Para evitar perder la configuración del entorno cuando lo termina, puede usar las configuraciones guardadas para guardar la configuración y aplicarla posteriormente a otro entorno.
Para guardar la configuración en el código fuente, puede incluir archivos de configuración. Los valores de configuración de los archivos de configuración se aplican cada vez que crea un entorno o que implementa la aplicación. También puede usar archivos de configuración para instalar paquetes, ejecutar scripts y llevar a cabo otras operaciones de personalización de instancias durante las implementaciones.
Si utiliza Composer, puede incluir un archivo composer.json en el paquete de código fuente para instalar paquetes durante la implementación.
Para la PHP configuración avanzada y los PHP ajustes que no se proporcionan como opciones de configuración, puede utilizar los archivos de configuración para proporcionar un INI archivo que pueda ampliar y anular la configuración predeterminada aplicada por Elastic Beanstalk, o instalar extensiones adicionales.
La configuración aplicada en la consola de Elastic Beanstalk anula la misma configuración en los archivos de configuración, si existe. Esto le permite tener la configuración predeterminada en los archivos de configuración y anularla con la configuración específica del entorno en la consola. Para obtener más información acerca de la prioridad y otros métodos para cambiar valores de configuración, consulte Opciones de configuración.
Para obtener más información sobre las diversas formas en las que puede ampliar una plataforma Elastic Beanstalk basada en Linux, consulte Ampliación de las plataformas Linux de Elastic Beanstalk.
Consideraciones sobre la PHP versión 8.1 en Amazon Linux 2
Lea esta sección si utiliza la PHPversión 8.1 en la rama de la plataforma Amazon Linux 2.
nota
La información de este tema solo se aplica a la rama PHP8.1 de la plataforma Amazon Linux 2. No se aplica a las ramas de la PHP plataforma basadas en la versión AL2 023. Tampoco se aplica a la rama de la plataforma PHP8.0 Amazon Linux 2.
Elastic Beanstalk PHP almacena los paquetes relacionados con la RPM versión 8.1 de la rama de PHPla plataforma Amazon Linux 2 en las instancias de un directorio local, EC2 en lugar de en el repositorio de Amazon Linux. Se puede utilizar rpm -i para instalar los paquetes. A partir de la versión 3.5.0 de la plataforma PHP 8.1, Elastic Beanstalk PHP almacena los paquetes relacionados con la versión RPM 8.1 en el siguiente directorio local. EC2
/opt/elasticbeanstalk/RPMS
En el siguiente ejemplo se instala el paquete php-debuginfo.
$rpm -i /opt/elasticbeanstalk/RPMS/php-debuginfo-8.1.8-1.amzn2.x86_64.rpm
La versión del nombre del paquete variará en función de la versión real que aparezca en el directorio local. EC2 /opt/elasticbeanstalk/RPMS
Use la misma sintaxis para instalar otros RPM paquetes de la PHP versión 8.1.
Amplíe la siguiente sección para ver una lista de RPM los paquetes que ofrecemos.
La siguiente lista proporciona los RMP paquetes que la plataforma PHP Elastic Beanstalk 8.1 proporciona en Amazon Linux 2. Estos archivos están ubicados en el directorio /opt/elasticbeanstalk/RPMS
.
Los números de versión 8.1.8-1 y 3.7.0-1 de los nombres de paquetes enumerados son solo un ejemplo.
-
php-8.1.8-1.amzn2.x86_64.rpm
-
php-bcmath-8.1.8-1.amzn2.x86_64.rpm
-
php-cli-8.1.8-1.amzn2.x86_64.rpm
-
php-common-8.1.8-1.amzn2.x86_64.rpm
-
php-dba-8.1.8-1.amzn2.x86_64.rpm
-
php-dbg-8.1.8-1.amzn2.x86_64.rpm
-
php-debuginfo-8.1.8-1.amzn2.x86_64.rpm
-
php-devel-8.1.8-1.amzn2.x86_64.rpm
-
php-embedded-8.1.8-1.amzn2.x86_64.rpm
-
php-enchant-8.1.8-1.amzn2.x86_64.rpm
-
php-fpm-8.1.8-1.amzn2.x86_64.rpm
-
php-gd-8.1.8-1.amzn2.x86_64.rpm
-
php-gmp-8.1.8-1.amzn2.x86_64.rpm
-
php-intl-8.1.8-1.amzn2.x86_64.rpm
-
php-ldap-8.1.8-1.amzn2.x86_64.rpm
-
php-mbstring-8.1.8-1.amzn2.x86_64.rpm
-
php-mysqlnd-8.1.8-1.amzn2.x86_64.rpm
-
php-odbc-8.1.8-1.amzn2.x86_64.rpm
-
php-opcache-8.1.8-1.amzn2.x86_64.rpm
-
php-pdo-8.1.8-1.amzn2.x86_64.rpm
-
php-pear-1.10.13-1.amzn2.noarch.rpm
-
php-pgsql-8.1.8-1.amzn2.x86_64.rpm
-
php-process-8.1.8-1.amzn2.x86_64.rpm
-
php-pspell-8.1.8-1.amzn2.x86_64.rpm
-
php-snmp-8.1.8-1.amzn2.x86_64.rpm
-
php-soap-8.1.8-1.amzn2.x86_64.rpm
-
php-sodium-8.1.8-1.amzn2.x86_64.rpm
-
php-xml-8.1.8-1.amzn2.x86_64.rpm
-
php-pecl-imagick-3.7.0-1.amzn2.x86_64.rpm
-
php-pecl-imagick-debuginfo-3.7.0-1.amzn2.x86_64.rpm
-
php-pecl-imagick-devel-3.7.0-1.amzn2.noarch.rpm
Puede usar los PECL paquetes PEAR y para instalar extensiones comunes. Para obtener más informaciónPEAR, consulte el sitio web del repositorio de PEAR PHP extensiones y aplicaciones
Los siguientes comandos de ejemplo instalan las extensiones de Memcached.
$pecl install memcache
O también puede utilizar lo siguiente:
$pear install pecl/memcache
Los siguientes comandos de ejemplo instalan las extensiones de Redis.
$pecl install redis
O también puede utilizar lo siguiente:
$pear install pecl/redis
Configuración de su entorno de PHP
Puede usar la consola de Elastic Beanstalk para habilitar la rotación de registros a Amazon S3, configurar variables que la aplicación pueda leer del entorno y cambiar la configuración. PHP
Para configurar el PHP entorno en la consola de Elastic Beanstalk
Abra la consola de Elastic Beanstalk
y, en la lista Regiones, seleccione su. Región de AWS -
En el panel de navegación, elija Environments (Entornos) y, a continuación, elija el nombre del entorno en la lista.
nota
Si tiene muchos entornos, utilice la barra de búsqueda para filtrar la lista de entornos.
En el panel de navegación, elija Configuration (Configuración).
-
En la categoría de configuración Actualizaciones, supervisión y registro, seleccione Editar.
PHPconfiguración
-
Proxy server (Servidor proxy): el servidor proxy que utilizar en las instancias del entorno. De forma predeterminada, se utiliza nginx.
-
Document root (Raíz del documento): carpeta que contiene la página predeterminada del sitio. Si la página de bienvenida no está en la raíz del paquete de código fuente, especifique la carpeta donde se encuentre con respecto a la ruta raíz. Por ejemplo,
/public
si la página de bienvenida está en una carpeta llamadapublic
. -
Memory limit (Límite de memoria): cantidad máxima de memoria que un script puede asignar. Por ejemplo,
512M
. -
Zlib output compression (Comprensión de salida Zlib): establézcalo en
On
para comprimir las respuestas. -
Permitir URL fopen: se configura en
Off
para evitar que los scripts descarguen archivos desde ubicaciones remotas. -
Display errors (Mostrar errores): establézcalo en
On
para mostrar mensajes de error internos sobre depuración. -
Max execution time (Tiempo máximo de ejecución): tiempo máximo en segundos que un script puede ejecutarse antes de que el entorno lo termine.
Log Options (Opciones de registro)
La sección Log Options tiene dos valores:
-
Instance profile (Perfil de instancia): especifica el perfil de instancia que tiene permiso para obtener acceso al bucket de Amazon S3 asociado con la aplicación.
-
Habilite la rotación de archivos de registro a Amazon S3: especifica si los archivos de registro de las EC2 instancias de Amazon de su aplicación se copian en el bucket de Amazon S3 asociado a su aplicación.
Archivos estáticos
Para mejorar el rendimiento, puede usar la sección Archivos estáticos para configurar el servidor proxy para que sirva archivos estáticos (por ejemplo, HTML o imágenes) de un conjunto de directorios dentro de su aplicación web. Para cada directorio, se establece la ruta virtual para la asignación de directorios. Cuando el servidor proxy recibe una solicitud de un archivo en la ruta especificada, proporciona directamente el archivo en lugar de direccionar la solicitud la aplicación.
Para obtener más información sobre la configuración de archivos estáticos mediante archivos de configuración o la consola de Elastic Beanstalk, consulte Distribución de archivos estáticos.
Propiedades del entorno
La sección Propiedades del entorno le permite especificar los ajustes de configuración del entorno en las EC2 instancias de Amazon que ejecutan su aplicación. Estos ajustes se pasan como pares clave-valor a la aplicación.
El código de la aplicación puede acceder a las propiedades del entorno mediante $_SERVER
o la función get_cfg_var
.
$endpoint = $_SERVER['API_ENDPOINT'];
Para obtener más información, consulte Propiedades del entorno y otras opciones del software.
El espacio de nombres aws:elasticbeanstalk:container:php:phpini
Puede usar un archivo de configuración para definir opciones de configuración y realizar otras tareas de configuración en las instancias durante las implementaciones. Las opciones de configuración se pueden definir a través del servicio de Elastic Beanstalk o la plataforma que utilice y están organizadas por espacios de nombres.
Puede utilizar el espacio de nombres aws:elasticbeanstalk:environment:proxy
para elegir el servidor proxy del entorno.
Puede usar el espacio de nombres aws:elasticbeanstalk:environment:proxy:staticfiles
para configurar el proxy del entorno para que sirva archivos estáticos. Defina mapeos de rutas virtuales a directorios de aplicaciones.
La PHP plataforma define las opciones en el espacio de aws:elasticbeanstalk:container:php:phpini
nombres, incluida una que no está disponible en la consola de Elastic Beanstalk. composer_options
establece opciones personalizadas para utilizarlas al instalar dependencias mediante Composer. composer.phar
install
Para obtener más información, incluidas las opciones disponibles, visite http://getcomposer.org/doc/03-cli.md#install
El siguiente archivo de configuración de ejemplo especifica una opción de archivos estáticos que asigna un directorio llamado staticimages
a la ruta /images
y muestra la configuración de cada una de las opciones disponibles en el espacio de nombres aws:elasticbeanstalk:container:php:phpini
:
ejemplo .ebextensions/php-settings.config
option_settings:
aws:elasticbeanstalk:environment:proxy:
ProxyServer: apache
aws:elasticbeanstalk:environment:proxy:staticfiles:
/images: staticimages
aws:elasticbeanstalk:container:php:phpini:
document_root: /public
memory_limit: 128M
zlib.output_compression: "Off"
allow_url_fopen: "On"
display_errors: "Off"
max_execution_time: 60
composer_options: vendor/package
nota
El espacio de aws:elasticbeanstalk:environment:proxy:staticfiles
nombres no está definido en las sucursales de la AMI PHP plataforma Amazon Linux (anteriores a Amazon Linux 2).
Elastic Beanstalk cuenta con numerosas opciones de configuración para personalizar el entorno. Además de los archivos de configuración, también puede establecer las opciones de configuración mediante la consola, las configuraciones guardadas, el EB CLI o el. AWS CLI Para obtener más información, consulte Opciones de configuración.