Utilisation de la plateforme Elastic Beanstalk PHP - AWS Elastic Beanstalk

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de la plateforme Elastic Beanstalk PHP

Cette rubrique explique comment configurer, créer et exécuter vos PHP applications sur Elastic Beanstalk.

AWS Elastic Beanstalk prend en charge un certain nombre de branches de plate-forme pour différentes versions du langage de PHP programmation. Ces plateformes prennent en charge les applications PHP Web qui peuvent être exécutées seules ou sous Composer. Consultez PHPle document AWS Elastic Beanstalk Plateformes pour obtenir la liste complète des branches de plateforme prises en charge.

Elastic Beanstalk propose des options de configuration que vous pouvez utiliser pour personnaliser le logiciel qui s'exécute EC2 sur les instances de votre environnement Elastic Beanstalk. Vous pouvez configurer les variables d'environnement requises par votre application, activer la rotation des journaux vers Amazon S3, mapper les dossiers de la source de votre application contenant des fichiers statiques aux chemins desservis par le serveur proxy et définir des paramètres d'PHPinitialisation communs.

Des options de configuration sont disponibles dans la console Elastic Beanstalk pour modifier la configuration d'un environnement en cours d'exécution. Pour éviter de perdre la configuration de votre environnement en le résiliant, vous pouvez utiliser des configurations enregistrées pour enregistrer vos paramètres et les appliquer par la suite à un autre environnement.

Pour enregistrer les paramètres dans votre code source, vous pouvez inclure des fichiers de configuration. Les paramètres des fichiers de configuration sont appliquées chaque fois que vous créez un environnement ou que vous déployez votre application. Vous pouvez également utiliser des fichiers de configuration pour installer des packages, exécuter des scripts ou effectuer d'autres opérations de personnalisation d'instance lors des déploiements.

Si vous utilisez Composer, vous pouvez inclure un fichiercomposer.json dans votre bundle source afin d'installer des packages pendant le déploiement.

Pour PHP la configuration avancée et PHP les paramètres qui ne sont pas fournis sous forme d'options de configuration, vous pouvez utiliser des fichiers de configuration pour fournir un INI fichier capable d'étendre et de remplacer les paramètres par défaut appliqués par Elastic Beanstalk, ou d'installer des extensions supplémentaires.

Les paramètres appliqués dans la console Elastic Beanstalk remplacent les mêmes paramètres des fichiers de configuration, s'ils existent. Cela vous permet d'utiliser les paramètres par défaut dans les fichiers de configuration et de les remplacer par des paramètres spécifiques à l'environnement dans la console. Pour plus d'informations sur la priorité et les autres méthodes de modification des paramètres, consultez Options de configuration.

Pour plus d'informations sur les différentes manières d'étendre une plateforme Elastic Beanstalk basée sur Linux, consultez Extension des plateformes Linux Elastic Beanstalk.

Considérations relatives à la PHP version 8.1 sur Amazon Linux 2

Lisez cette section si vous utilisez la PHPversion 8.1 sur la branche de la plateforme Amazon Linux 2.

Note

Les informations contenues dans cette rubrique s'appliquent uniquement à la branche PHP8.1 sur la plateforme Amazon Linux 2. Elle ne s'applique pas aux succursales de la PHP plateforme basées sur AL2 023. Cela ne s'applique pas non plus à la branche PHP8.0 de la plateforme Amazon Linux 2.

Elastic Beanstalk PHP stocke les packages associés à la RPM version 8.1 pour PHPla branche 8.1 sur la plateforme Amazon Linux 2 EC2 sur les instances d'un répertoire local, au lieu du référentiel Amazon Linux. Vous pouvez utiliser rpm -i afin d'installer des packages. À partir de la version 3.5.0 de la plateforme PHP 8.1, Elastic Beanstalk PHP stocke les packages associés à RPM 8.1 dans le répertoire local suivant. EC2

/opt/elasticbeanstalk/RPMS

L'exemple suivant permet d'installer le package php-debuginfo.

$rpm -i /opt/elasticbeanstalk/RPMS/php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

La version indiquée dans le nom du package varie en fonction de la version réelle répertoriée dans le répertoire EC2 local/opt/elasticbeanstalk/RPMS. Utilisez la même syntaxe pour installer les autres RPM packages PHP 8.1.

Développez la section suivante pour afficher la liste des RPM packages que nous proposons.

La liste suivante répertorie les RMP packages fournis par la plateforme PHP Elastic Beanstalk 8.1 sur Amazon Linux 2. Ils se situent dans le répertoire local /opt/elasticbeanstalk/RPMS.

Les numéros de version 8.1.8-1 et 3.7.0-1 figurant dans les noms de packages listés ne sont qu'un exemple.

  • php-8.1.8-1.amzn2.x86_64.rpm

  • php-bcmath-8.1.8-1.amzn2.x86_64.rpm

  • php-cli-8.1.8-1.amzn2.x86_64.rpm

  • php-common-8.1.8-1.amzn2.x86_64.rpm

  • php-dba-8.1.8-1.amzn2.x86_64.rpm

  • php-dbg-8.1.8-1.amzn2.x86_64.rpm

  • php-debuginfo-8.1.8-1.amzn2.x86_64.rpm

  • php-devel-8.1.8-1.amzn2.x86_64.rpm

  • php-embedded-8.1.8-1.amzn2.x86_64.rpm

  • php-enchant-8.1.8-1.amzn2.x86_64.rpm

  • php-fpm-8.1.8-1.amzn2.x86_64.rpm

  • php-gd-8.1.8-1.amzn2.x86_64.rpm

  • php-gmp-8.1.8-1.amzn2.x86_64.rpm

  • php-intl-8.1.8-1.amzn2.x86_64.rpm

  • php-ldap-8.1.8-1.amzn2.x86_64.rpm

  • php-mbstring-8.1.8-1.amzn2.x86_64.rpm

  • php-mysqlnd-8.1.8-1.amzn2.x86_64.rpm

  • php-odbc-8.1.8-1.amzn2.x86_64.rpm

  • php-opcache-8.1.8-1.amzn2.x86_64.rpm

  • php-pdo-8.1.8-1.amzn2.x86_64.rpm

  • php-pear-1.10.13-1.amzn2.noarch.rpm

  • php-pgsql-8.1.8-1.amzn2.x86_64.rpm

  • php-process-8.1.8-1.amzn2.x86_64.rpm

  • php-pspell-8.1.8-1.amzn2.x86_64.rpm

  • php-snmp-8.1.8-1.amzn2.x86_64.rpm

  • php-soap-8.1.8-1.amzn2.x86_64.rpm

  • php-sodium-8.1.8-1.amzn2.x86_64.rpm

  • php-xml-8.1.8-1.amzn2.x86_64.rpm

  • php-pecl-imagick-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-debuginfo-3.7.0-1.amzn2.x86_64.rpm

  • php-pecl-imagick-devel-3.7.0-1.amzn2.noarch.rpm

Vous pouvez utiliser les PECL packages PEAR et pour installer les extensions courantes. Pour plus d'informationsPEAR, consultez le site Web du référentiel d'PEARPHPextensions et d'applications. Pour plus d'informationsPECL, consultez le site Web de l'PECLextension.

Les exemples de commandes suivants permettent d'installer les extensions Memcached.

$pecl install memcache

Vous pouvez également utiliser ce qui suit :

$pear install pecl/memcache

Les exemples de commandes suivants permettent d'installer les extensions Redis.

$pecl install redis

Vous pouvez également utiliser ce qui suit :

$pear install pecl/redis

Configuration de votre environnement PHP

Vous pouvez utiliser la console Elastic Beanstalk pour activer la rotation des journaux vers Amazon S3, configurer les variables que votre application peut lire depuis l'environnement et modifier les paramètres. PHP

Pour configurer votre PHP environnement dans la console Elastic Beanstalk
  1. Ouvrez la console Elastic Beanstalk, puis dans la liste des régions, sélectionnez votre. Région AWS

  2. Dans le panneau de navigation, choisissez Environments (Environnements), puis choisissez le nom de votre environnement dans la liste.

    Note

    Si vous avez plusieurs environnements, utilisez la barre de recherche pour filtrer la liste des environnements.

  3. Dans le panneau de navigation, choisissez Configuration.

  4. Dans la catégorie de configuration Mises à jour, surveillance et journalisation, sélectionnez Modifier.

PHPparamètres

  • Proxy server (Serveur proxy) – Serveur proxy à utiliser sur vos instances d'environnement. Le serveur nginx est utilisé par défaut.

  • Racine du document – Dossier qui contient la page par défaut de votre site. Si votre page d'accueil n'est pas à la racine de votre groupe source, spécifiez le dossier qui la contient par rapport aux chemin d'accès racine. Par exemple, /public si la page d'accueil est dans un dossier nommé public.

  • Limite de mémoire – Volume maximum de mémoire qu'un script est autorisé à allouer. Par exemple, 512M.

  • Compression de sortie Zlib – Définissez sur On pour compresser les réponses.

  • Autoriser URL fopen : définissez cette option Off pour empêcher les scripts de télécharger des fichiers depuis des sites distants.

  • Afficher les erreurs – Définissez cette option sur On pour afficher les messages d'erreur internes à des fins de débogage.

  • Durée d'exécution maximum – La durée maximale en secondes pendant laquelle un script est autorisé à s'exécuter avant que l'environnement ne l'arrête.

Options du journal

La section Options du journal a deux paramètres :

  • Instance profile (Profil d'instance) – Spécifie le profil d'instance qui est autorisé à accéder au compartiment Amazon S3 associé à votre application.

  • Activer la rotation des fichiers journaux vers Amazon S3 : indique si les fichiers journaux des EC2 instances Amazon de votre application sont copiés dans le compartiment Amazon S3 associé à votre application.

Fichiers statiques

Pour améliorer les performances, vous pouvez utiliser la section Fichiers statiques pour configurer le serveur proxy pour qu'il diffuse des fichiers statiques (par exemple, HTML ou des images) à partir d'un ensemble de répertoires au sein de votre application Web. Pour chaque répertoire, vous définissez le chemin virtuel sur le mappage de répertoires. Lorsque le serveur proxy reçoit une demande pour un fichier dans le chemin spécifié, il fournit le fichier directement au lieu d'acheminer la demande vers votre application.

Pour en savoir plus sur la configuration des fichiers statiques à l'aide des fichiers de configuration ou de la console Elastic Beanstalk, consultez Service de fichiers statiques.

Propriétés de l'environnement

La section Propriétés de l'environnement vous permet de définir les paramètres de configuration de l'environnement sur EC2 les instances Amazon qui exécutent votre application. Ces paramètres sont passés en tant que paires clé-valeur à l'application.

Votre code d'application peut accéder aux propriétés de l'environnement à l'aide de $_SERVER ou à la fonction get_cfg_var.

$endpoint = $_SERVER['API_ENDPOINT'];

Pour plus d’informations, consultez Propriétés de l'environnement et autres paramètres de logiciel.

Espace de noms aws:elasticbeanstalk:container:php:phpini

Vous pouvez utiliser un fichier de configuration pour définir des options de configuration et exécuter d'autres tâches de configuration d'instance pendant les déploiements. Les options de configuration peuvent être définies par le service Elastic Beanstalk ou la plateforme que vous utilisez et sont organisées en espaces de noms.

Vous pouvez utiliser l'espace de noms aws:elasticbeanstalk:environment:proxy pour choisir le serveur proxy de l'environnement.

Vous pouvez utiliser l'espace de noms aws:elasticbeanstalk:environment:proxy:staticfiles pour configurer le proxy d'environnement afin de traiter les fichiers statiques. Vous définissez les mappages des chemins virtuels vers les répertoires d'applications.

La PHP plate-forme définit des options dans l'espace de aws:elasticbeanstalk:container:php:phpini noms, dont une qui n'est pas disponible dans la console Elastic Beanstalk. composer_optionsdéfinit les options personnalisées à utiliser lors de l'installation de dépendances à l'aide de Composer viacomposer.phar install. Pour plus d'informations et pour connaître les options disponibles, consultez http://getcomposer.org/doc/03-cli.md#install.

L'exemple de fichier de configuration suivant spécifie une option de fichiers statiques qui mappe un répertoire nommé staticimages au chemin /images, d'accès et affiche les paramètres de chacune des options disponibles dans l'espace de noms aws:elasticbeanstalk:container:php:phpini :

Exemple .ebextensions/php-settings.config
option_settings: aws:elasticbeanstalk:environment:proxy: ProxyServer: apache aws:elasticbeanstalk:environment:proxy:staticfiles: /images: staticimages aws:elasticbeanstalk:container:php:phpini: document_root: /public memory_limit: 128M zlib.output_compression: "Off" allow_url_fopen: "On" display_errors: "Off" max_execution_time: 60 composer_options: vendor/package
Note

L'espace de aws:elasticbeanstalk:environment:proxy:staticfiles noms n'est pas défini sur les branches de AMI PHP la plateforme Amazon Linux (antérieures à Amazon Linux 2).

Elastic Beanstalk fournit de nombreuses options de configuration pour personnaliser votre environnement. Outre les fichiers de configuration, vous pouvez également définir les options de configuration à l'aide de la console, des configurations enregistrées, de l'EB CLI ou du AWS CLI. Pour plus d’informations, consultez Options de configuration.