¿Cómo puedo instalar módulos PECL 7 en entornos de Elastic Beanstalk que se ejecuten en PHP 8.1 con pilas de Amazon Linux 2?

2 minutos de lectura
0

Quiero instalar Redis, Memcached u otros módulos para PECL 7 en un entorno de AWS Elastic Beanstalk que se ejecute en PHP 8.1 mediante pilas de Amazon Linux 2.

Breve descripción

Para instalar los módulos PECL 7, debe crear un archivo de configuración (.ebextension) que incluya comandos para:

  • Instalar dependencias
  • Instalar el módulo PECL
  • Crear o modificar archivos de configuración

Resolución

1.    Configure el directorio .ebextensions en la raíz del paquete fuente de la aplicación. Por ejemplo:

|-- .ebextensions
|        |-- redis/memcached.config
|        |-- other .config files
|-- other application files

Para obtener más información, consulte Advanced environment customization with configuration files (.ebextensions).

Nota: Todos los archivos de configuración se almacenan en la carpeta .ebextensions. El entorno de Elastic Beanstalk solo utiliza archivos que terminen con la extensión .config.

2.    En el directorio .ebextensions, cree un archivo de configuración que incluya los siguientes comandos para el módulo.

Para módulos Redis:

commands:
  01_install_redis:
    command: /usr/bin/yes 'no' | /usr/bin/pecl install redis
    test: '! /usr/bin/pecl info redis'
  02_remove_extension:
    command: /bin/sed -i -e '/extension="redis.so"/d' /etc/php.ini
  03_create_conf:
    command: /bin/echo 'extension="redis.so"' > /etc/php.d/41-redis.ini

El archivo de configuración de Redis hace lo siguiente:

  • Instala el módulo Redis y comprueba si la instalación se ha realizado correctamente (01_install_redis).
  • Elimina la extensión Redis del archivo /etc/php.ini (02_remove_extension).
  • Crea un archivo de configuración llamado 41-redis.ini en /etc/php.d/ (03_create_conf).

Para módulos Memcached:

packages:
  yum:
    libmemcached-devel: []
commands:
  01_install_memcached:
    command: /usr/bin/yes 'no'| /usr/bin/pecl install memcached
    test: '! /usr/bin/pecl info memcached'
  02_remove_extension:
    command: /bin/sed -i -e '/extension="memcached.so"/d' /etc/php.ini
  03_create_conf:
    command: /bin/echo 'extension="memcached.so"' > /etc/php.d/41-memcached.ini

El archivo de configuración de Memcached hace lo siguiente:

  • Instala el módulo Memcached y comprueba si la instalación se ha realizado correctamente (01_install_memcached).
  • Elimina la extensión Redis del archivo /etc/php.ini (02_remove_extension).
  • Crea un archivo de configuración llamado 41-memcached.ini en /etc/php.d/ (03_create_conf).

Nota: Pruebe siempre los archivos .ebextension nuevos antes de añadirlos a un entorno de producción.

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años