Tutoriel PHP pour AWS Cloud9 - AWS Cloud9

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.

Tutoriel PHP pour AWS Cloud9

Ce didacticiel vous permet d'exécuter des scripts PHP dans un environnement de AWS Cloud9 développement.

Le fait de suivre ce didacticiel et de créer cet exemple peut entraîner des frais sur votre AWS compte. Il peut s'agir de frais pour des services tels qu'Amazon EC2 et Amazon S3. Pour en savoir plus, consultez les sections Tarification Amazon EC2 et Tarification Amazon S3.

Prérequis

Avant d'utiliser cet exemple, vérifiez que votre configuration respecte les conditions requises suivantes :

  • Vous devez disposer d'un environnement de développement AWS Cloud9 EC2 existant. Cet exemple suppose que vous disposez déjà d'un environnement EC2 connecté à une instance Amazon EC2 s'exécutant sur Amazon Linux ou Ubuntu Server. Si vous utilisez un autre type d'environnement ou de système d'exploitation, vous devrez peut-être adapter les instructions de cet exemple pour configurer les outils associés. Pour plus d’informations, consultez Création d'un environnement dans AWS Cloud9.

  • L' AWS Cloud9 IDE correspondant à l'environnement existant est déjà ouvert. Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre l'IDE correspondant à cet environnement dans votre navigateur Web. Pour plus d’informations, consultez Ouverture d'un environnement dans AWS Cloud9.

Étape 1 : Installer les outils requis

Dans cette étape, vous installez PHP, qui est requis pour exécuter cet exemple.

Note

La procédure suivante installe PHP uniquement. Pour installer des outils connexes tels qu'un serveur Web Apache et une base de données MySQL, consultez Tutoriel : Installation d'un serveur Web LAMP sur Amazon Linux dans le guide de l'utilisateur Amazon EC2.

  1. Dans une session de terminal dans l' AWS Cloud9 IDE, vérifiez si PHP est déjà installé en exécutant la php --versioncommande. (Pour démarrer une nouvelle séance de terminal, dans la barre de menus, choisissez Window (Fenêtre), New Terminal (Nouveau terminal).) Si PHP est installé, la sortie contient le numéro de version de PHP. Si PHP est installé, passez directement à Étape 2 : Ajouter du code.

  2. Exécutez la commande yum update (pour Amazon Linux) ou la commande apt update (pour Ubuntu Server) afin d'être sûr que les mises à jour de sécurité et les correctifs les plus récents sont installés.

    Pour Amazon Linux 2 et Amazon Linux :

    sudo yum -y update

    Pour Ubuntu Server :

    sudo apt update
  3. Installez PHP en exécutant la commande install .

    Dans Amazon Linux 2:

    sudo amazon-linux-extras install -y php7.2

    Pour Amazon Linux :

    sudo yum -y install php72
    Note

    Vous pouvez afficher votre version d'Amazon Linux avec la commande suivante :

    cat /etc/system-release

    Pour Ubuntu Server :

    sudo apt install -y php php-xml

    Pour plus d'informations, consultez Installation et configuration sur le site web PHP.

Étape 2 : Ajouter du code

Dans l' AWS Cloud9 IDE, créez un fichier avec ce contenu et enregistrez le fichier sous son nomhello.php. (Pour créer un fichier, dans la barre de menus, choisissez Fichier, Nouveau fichier. Pour l'enregistrer, choisissez Fichier, Enregistrer, tapez hello.php comme Nom de fichier, puis Enregistrer.)

<?php print('Hello, World!'); print("\nThe sum of 2 and 3 is 5."); $sum = (int)$argv[1] + (int)$argv[2]; print("\nThe sum of $argv[1] and $argv[2] is $sum."); ?>
Note

Le code précédent ne s'appuie pas sur des fichiers externes. Toutefois, si vous incluez ou avez besoin d'autres fichiers PHP dans votre fichier, et que vous souhaitez utiliser ces fichiers AWS Cloud9 pour compléter le code au fur et à mesure que vous tapez, activez le paramètre Projet, Support PHP, Activer l'achèvement du code PHP dans les préférences, puis ajoutez les chemins d'accès à ces fichiers dans le paramètre Projet, Support PHP, PHP Completion Include Paths. (Pour afficher et modifier vos préférences, choisissez AWS Cloud9, Preferences dans la barre de menus.)

Étape 3 : Exécuter le code

  1. Dans l' AWS Cloud9 IDE, dans la barre de menus, choisissez Run, Run Configurations, New Run Configuration.

  2. Dans l'onglet [New] - Idle ([Nouveau] - Inactif), choisissez Runner: Auto (Exécuteur : Auto), puis PHP (cli).

  3. Pour Commande), saisissez hello.php 5 9. Dans le code, 5 représente $argv[1], et 9 représente $argv[2]. ($argv[0] représente le nom du fichier (hello.php).)

  4. Choisissez le bouton Run et comparez la sortie.

    Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Résultat de l'exécution du code PHP dans l' AWS Cloud9 IDE

Étape 4 : Installation et configuration du AWS SDK for PHP

Vous pouvez améliorer cet exemple AWS SDK for PHP pour créer un compartiment Amazon S3, répertorier vos compartiments disponibles, puis supprimer le compartiment que vous venez de créer.

Au cours de cette étape, vous installez et configurez le AWS SDK for PHP, qui constitue un moyen pratique d'interagir avec AWS des services tels qu'Amazon S3, à partir de votre code PHP. Avant de pouvoir installer le AWS SDK for PHP, vous devez installer Composer. Après avoir installé le AWS SDK for PHP, vous devez configurer la gestion des informations d'identification dans votre environnement. Ils ont AWS SDK for PHP besoin de ces informations d'identification pour interagir avec AWS les services.

Pour installer Composer

Exécutez la commande curl avec les options d'exécution silencieuse (-s) et d'affichage d'erreur (-S), en recueillant le programme d'installation Composer dans un fichier d'archive PHP (PHAR), nommé composer.phar par convention.

curl -sS https://getcomposer.org/installer | php

Pour installer AWS SDK for PHP

Pour Ubuntu Server, installez les packages supplémentaires dont Composer a besoin pour installer le kit AWS SDK for PHP.

sudo apt install -y php-xml php-curl

Pour Amazon Linux ou Ubuntu Server, utilisez la commande php pour exécuter le programme d'installation de Composer afin d'installer le kit AWS SDK for PHP.

php composer.phar require aws/aws-sdk-php

Cette commande crée plusieurs dossiers et fichiers dans votre environnement. Le fichier principal que vous utiliserez est autoload.php, qui se trouve dans le dossier vendor de votre environnement.

Note

Après l'installation, Composer peut vous suggérer d'installer des dépendances supplémentaires. Pour ce faire, vous pouvez exécuter une commande semblable à ce qui suit, en spécifiant la liste des dépendances à installer. Par exemple, la commande suivante indique à Composer d'installer la liste suivante de dépendances.

php composer.phar require psr/log ext-curl doctrine/cache aws/aws-php-sns-message-validator

Pour plus d'informations, consultez Installation dans le Manuel du développeur AWS SDK for PHP .

Pour configurer la gestion des informations d'identification dans votre environnement

Chaque fois que vous utilisez le AWS SDK for PHP pour appeler un AWS service, vous devez fournir un ensemble d'informations d'identification avec l'appel. Ces informations d'identification déterminent s'il AWS SDK for PHP dispose des autorisations appropriées pour effectuer cet appel. Si les informations d'identification ne sont pas associées aux autorisations nécessaires, l'appel échoue.

Au cours de cette étape, vous allez stocker vos informations d'identification dans l'environnement. Pour ce faire, suivez les instructions de la rubrique Appel des Services AWS à partir d'un environnement dans AWS Cloud9, puis revenez à cette rubrique.

Pour plus d'informations, consultez la section « Création d'un client » de la rubrique Modèles d'utilisation de base dans le Manuel du développeur AWS SDK for PHP .

Étape 5 : ajouter le code du AWS SDK

Au cours de cette étape, vous allez ajouter du code supplémentaire pour interagir avec Amazon S3, créer un compartiment, répertorier les compartiments disponibles, puis supprimer le compartiment que vous venez de créer. Vous exécuterez ce code ultérieurement.

Dans l' AWS Cloud9 IDE, créez un fichier avec ce contenu et enregistrez le fichier sous son noms3.php.

<?php require './vendor/autoload.php'; if ($argc < 4) { exit("Usage: php s3.php <the time zone> <the bucket name> <the AWS Region to use>\n" . "Example: php s3.php America/Los_Angeles my-test-bucket us-east-2"); } $timeZone = $argv[1]; $bucketName = $argv[2]; $region = $argv[3]; date_default_timezone_set($timeZone); $s3 = new Aws\S3\S3Client([ 'region' => $region, 'version' => '2006-03-01' ]); # Lists all of your available buckets in this AWS Region. function listMyBuckets($s3) { print("\nMy buckets now are:\n"); $promise = $s3->listBucketsAsync(); $result = $promise->wait(); foreach ($result['Buckets'] as $bucket) { print("\n"); print($bucket['Name']); } } listMyBuckets($s3); # Create a new bucket. print("\n\nCreating a new bucket named '$bucketName'...\n"); try { $promise = $s3->createBucketAsync([ 'Bucket' => $bucketName, 'CreateBucketConfiguration' => [ 'LocationConstraint' => $region ] ]); $promise->wait(); } catch (Exception $e) { if ($e->getCode() == 'BucketAlreadyExists') { exit("\nCannot create the bucket. " . "A bucket with the name '$bucketName' already exists. Exiting."); } } listMyBuckets($s3); # Delete the bucket you just created. print("\n\nDeleting the bucket named '$bucketName'...\n"); $promise = $s3->deleteBucketAsync([ 'Bucket' => $bucketName ]); $promise->wait(); listMyBuckets($s3); ?>

Étape 6 : Exécuter le code du AWS SDK

  1. Dans l' AWS Cloud9 IDE, dans la barre de menus, choisissez Run, Run Configurations, New Run Configuration.

  2. Dans l'onglet [New] - Idle ([Nouveau] - Inactif), choisissez Runner: Auto (Exécuteur : Auto), puis PHP (cli).

  3. Pour Command (Commande), tapez s3.php America/Los_Angeles my-test-bucket us-east-2, où :

    • America/Los_Angeles représente votre ID de fuseau horaire par défaut. Pour obtenir plus d'ID, consultez la section Liste des fuseaux horaires supportés sur le site web de PHP.

    • my-test-bucket représente le nom du compartiment que vous souhaitez créer, puis supprimer.

      Note

      Les noms des compartiments Amazon S3 doivent être uniques pour l'ensemble de votre compte AWS, et pas uniquement pour ce qui est de votre AWS compte.

    • us-east-2est l'ID de la AWS région dans laquelle vous souhaitez créer le bucket. Pour plus d'ID, consultez la section Amazon Simple Storage Service (Amazon S3) de la Référence générale d'Amazon Web Services.

  4. Choisissez le bouton Run et comparez la sortie.

    My buckets now are: Creating a new bucket named 'my-test-bucket'... My buckets now are: my-test-bucket Deleting the bucket named 'my-test-bucket'... My buckets now are:

Étape 7 : nettoyer

Pour éviter que votre AWS compte ne soit débité une fois que vous aurez terminé d'utiliser cet exemple, vous devez supprimer l'environnement. Pour obtenir des instructions, veuillez consulter Suppression d'un environnement dans AWS Cloud9.

Résolution des problèmes liés à PHP Runner pour AWS Cloud9

Si vous rencontrez des problèmes avec le programme d'exécution de la CLI PHP, vous devez vous assurer que le programme d'exécution a été défini sur PHP et que le mode débogueur est activé.