Ich möchte Redis, Memcached oder andere Module für PECL 7 auf einer AWS Elastic Beanstalk-Umgebung installieren, die mit PHP 8.1 und Amazon Linux 2 Stacks läuft.
Kurzbeschreibung
Um PECL 7-Module zu installieren, müssen Sie eine Konfigurationsdatei (.ebextension) erstellen, die Befehle für Folgendes enthält:
- Abhängigkeiten installieren
- Installieren Sie das PECL-Modul
- Erstellen oder ändern Sie Konfigurationsdateien
Behebung
1.Richten Sie das Verzeichnis .ebextensions im Stammverzeichnis des Quellpakets Ihrer Anwendung ein. Zum Beispiel:
|-- .ebextensions
| |-- redis/memcached.config
| |-- other .config files
|-- other application files
Weitere Informationen finden Sie unter Erweiterte Umgebungsanpassung mit Konfigurationsdateien (.ebextensions).
**Hinweis:**Alle Konfigurationsdateien werden im Ordner .ebextensions gespeichert. Die Elastic Beanstalk-Umgebung verwendet nur Dateien, die mit der Erweiterung .config enden.
2.Erstellen Sie im Verzeichnis .ebextensions eine Konfigurationsdatei, die die folgenden Befehle für Ihr Modul enthält.
Für Redis-Module:
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
Die Redis-Konfigurationsdatei hat folgende Aufgaben:
- Installiert das Redis-Modul und testet, ob die Installation erfolgreich ist (01_install_redis)
- Entfernt die Redis-Erweiterung aus der Datei /etc/php.ini (02_remove_extension)
- Erzeugt eine Konfigurationsdatei namens 41-redis.ini unter /etc/php.d/ (03_create_conf)
Für Memcached-Module:
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
Die Memcached-Konfigurationsdatei hat folgende Aufgaben:
- Installiert das Memcached-Modul und testet, ob die Installation erfolgreich ist (01_install_memcached)
- Entfernt die Redis-Erweiterung aus der Datei /etc/php.ini (02_remove_extension)
- Erzeugt eine Konfigurationsdatei namens 41-memcached.ini unter /etc/php.d/ (03_create_conf)
**Hinweis:**Testen Sie immer eine neue .ebextension bevor Sie sie zu einer Produktionsumgebung hinzufügen.