Wie installiere ich PECL 7-Module auf Elastic Beanstalk-Umgebungen, die auf PHP 8.1 mit Amazon Linux 2 Stacks laufen?

Lesedauer: 2 Minute
0

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.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 2 Jahren