Passer au contenu

Comment utiliser PHP 8.1 sur la branche de plateforme Amazon Linux 2 pour installer les modules PECL 7 sur mes environnements Elastic Beanstalk ?

Lecture de 2 minute(s)
0

Je souhaite utiliser PHP 8.1 sur la branche de plateforme Amazon Linux 2 pour installer Redis, Memcached ou d'autres modules PECL 7 sur mon environnement AWS Elastic Beanstalk.

Brève description

Pour installer les modules PECL 7, vous devez créer un fichier de configuration incluant des commandes qui permettent d'effectuer les actions suivantes :

  • installer les dépendances ;
  • installer le module PECL ;
  • créer ou modifier des fichiers de configuration.

Enregistrez ensuite le fichier de configuration dans le dossier .ebextensions.

Remarque : Pour obtenir des exemples, des recommandations et des exigences, consultez la section Personnalisation avancée de l'environnement à l'aide de fichiers de configuration (.ebextensions). Consultez également la section Extension des plateformes Elastic Beanstalk Linux.

Résolution

Procédez comme suit :

  1. Configurez le répertoire .ebextensions à la racine du groupe source de votre application.
    Exemple :

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

    Remarque : Tous les fichiers de configuration sont stockés dans le dossier .ebextensions. L'environnement Elastic Beanstalk utilise uniquement des fichiers qui se terminent par l'extension .config.

  2. Dans le répertoire .ebextensions, créez un fichier de configuration qui inclut les commandes suivantes pour votre module.

    Configuration des modules 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

    Remarque : Dans le fichier de configuration précédent, 01_install_redis installe le module Redis et teste la réussite de l'installation. 02_remove_extension supprime l'extension Redis du fichier /etc/php.ini. 03_create_conf crée un fichier de configuration nommé 41-redis.ini dans le répertoire /etc/php.d/.

    Configuration des modules 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

    Remarque : Dans le fichier de configuration précédent, 01_install_memcached installe le module Memcached et teste la réussite de l'installation. 02_remove_extension supprime l'extension Redis du fichier /etc/php.ini. 03_create_conf crée un fichier de configuration appelé 41-memcached.ini dans le répertoire /etc/php.d/.

  3. Testez toujours un nouveau fichier .ebextensions avant de l'ajouter à un environnement de production.

AWS OFFICIELA mis à jour il y a 7 mois