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.