Como instalar módulos PECL 7 em ambientes do Elastic Beanstalk executados em PHP 8.1 com pilhas do Amazon Linux 2?

2 minuto de leitura
0

Quero instalar o Redis, o Memcached ou outros módulos para PECL 7 em um ambiente do AWS Elastic Beanstalk executado em PHP 8.1 usando pilhas do Amazon Linux 2.

Breve descrição

Para instalar módulos PECL 7, você deve criar um arquivo de configuração (.ebextension) que inclua comandos para:

  • Instalar dependências
  • Instalar o módulo PECL
  • Criar ou modificar arquivos de configuração

Resolução

1.    Configure o diretório .ebextensions na raiz do pacote de origem do seu aplicativo. Por exemplo:

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

Para obter mais informações, consulte Personalização avançada de ambiente com arquivos de configuração (.ebextensions).

Observação: todos os arquivos de configuração são armazenados na pasta .ebextensions. O ambiente do Elastic Beanstalk usa somente arquivos que terminam com a extensão .config.

2.    No diretório .ebextensions, crie um arquivo de configuração que inclua os seguintes comandos para seu 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

O arquivo de configuração do Redis faz o seguinte:

  • Instala o módulo Redis e testa o sucesso da instalação (01_install_redis)
  • Remove a extensão Redis do arquivo /etc/php.ini (02_remove_extension)
  • Cria um arquivo de configuração chamado 41-redis.ini em**/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

O arquivo de configuração do Memcached faz o seguinte:

  • Instala o módulo Memcached e testa o sucesso da instalação (01_install_memcached)
  • Remove a extensão Redis do arquivo /etc/php.ini (02_remove_extension)
  • Cria um arquivo de configuração chamado 41-memcached.ini em /etc/php.d/ (03_create_conf)

Observação: sempre teste uma nova .ebextension antes de adicioná-la a um ambiente de produção.

AWS OFICIAL
AWS OFICIALAtualizada há um ano