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.