Come si installano i moduli PECL 7 su ambienti Elastic Beanstalk in esecuzione su PHP 8.1 con stack Amazon Linux 2?

2 minuti di lettura
0

Desidero installare Redis, Memcached o altri moduli per PECL 7 su un ambiente AWS Elastic Beanstalk in esecuzione su PHP 8.1 utilizzando gli stack Amazon Linux 2.

Breve descrizione

Per installare i moduli PECL 7, è necessario creare un file di configurazione (.ebextension) che includa comandi per:

  • Installare le dipendenze
  • Installare il modulo PECL
  • Creare o modificare file di configurazione

Risoluzione

1.    Imposta .ebextensions nella directory principale del pacchetto sorgente della tua applicazione. Ad esempio:

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

Per ulteriori informazioni, consulta Personalizzazione avanzata dell'ambiente con file di configurazione (.ebextensions).

Nota: tutti i file di configurazione sono archiviati nella cartella .ebextensions. L'ambiente Elastic Beanstalk utilizza solo file che terminano con l'estensione .config.

2.    Nella directory .ebextensions, crea un file di configurazione che includa i seguenti comandi per il tuo modulo.

Per i moduli 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

Il file di configurazione Redis esegue le seguenti operazioni:

  • Installa il modulo Redis e verifica il successo dell'installazione (01_install_redis)
  • Rimuove l'estensione Redis dal file /etc/php.ini (02_remove_extension)
  • Crea un file di configurazione chiamato 41-redis.ini in /etc/php.d/ (03_create_conf)

Per i moduli 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

Il file di configurazione Memcached esegue le seguenti operazioni:

  • Installa il modulo Memcached e verifica il successo dell'installazione (01_install_memcached)
  • Rimuove l'estensione Redis dal file /etc/php.ini (02_remove_extension)
  • Crea un file di configurazione chiamato 41-memcached.ini in /etc/php.d/ (03\ _create\ _conf)

Nota: prova sempre una nuova estensione con .ebextension prima di aggiungerla a un ambiente di produzione.

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa