PHPtutoriel pour AWS Cloud9 - AWS Cloud9

AWS Cloud9 n'est plus disponible pour les nouveaux clients. Les clients existants de AWS Cloud9 peuvent continuer à utiliser le service normalement. En savoir plus

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.

PHPtutoriel pour AWS Cloud9

Ce didacticiel vous permet d'exécuter certains PHP scripts 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. Cela inclut les frais éventuels pour des services tels qu'Amazon EC2 et Amazon S3. Pour plus d'informations, consultez les sections EC2 Tarification Amazon 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 AWS Cloud9 EC2 de développement existant. Cet exemple suppose que vous disposez déjà d'un EC2 environnement connecté à une EC2 instance Amazon exécutant Amazon Linux ou Ubuntu Serveur. 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 de plus amples informations, veuillez consulter Création d'un environnement dans AWS Cloud9.

  • Vous avez déjà ouvert AWS Cloud9 IDE le fichier correspondant à l'environnement existant. Lorsque vous ouvrez un environnement, AWS Cloud9 ouvre le champ IDE correspondant à cet environnement dans votre navigateur Web. Pour de plus amples informations, veuillez consulter Ouverture d'un environnement dans AWS Cloud9.

Étape 1 : Installer les outils requis

Au cours de cette étape, vous devez procéder à l'installationPHP, ce qui est nécessaire pour exécuter cet exemple.

Note

La procédure suivante ne s'applique PHP qu'aux installations. Pour installer des outils connexes tels qu'un serveur Web Apache et une base de SQL données My Database, consultez Tutoriel : Installation d'un serveur LAMP Web sur Amazon Linux dans le guide de EC2 l'utilisateur Amazon.

  1. Lors d'une session de terminal dans le AWS Cloud9 IDE, vérifiez s'il 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).) En cas de succès, la sortie contient le numéro de PHP version. S'PHPil 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 installcommande.

    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 la section Installation et configuration sur le PHP site Web.

Étape 2 : Ajouter du code

Dans le 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 PHP fichiers dans votre fichier, et que vous souhaitez utiliser ces fichiers AWS Cloud9 pour terminer le code au fur et à mesure que vous tapez, activez le paramètre Projet, PHP Support, Activer la complétion PHP du code dans les préférences, puis ajoutez les chemins d'accès à ces fichiers dans le paramètre Projet, PHP Support, PHP achèvement et inclusion des chemins. (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 la barre de menus AWS Cloud9 IDE, choisissez Exécuter, Exécuter les configurations, Nouvelle configuration d'exécution.

  2. Dans l'onglet [Nouveau] - Idle, choisissez Runner : Auto, puis choisissez 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 PHP du code dans 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 PHP code. 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 curlcommande avec les options silent (-s) et show error (-S), en dirigeant le programme d'installation de Composer vers un fichier PHP archive (PHAR), nommé composer.phar par convention.

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

Pour installer le 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 Téléphoner Services AWS depuis 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 AWS SDK du code

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 le 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écutez le AWS SDK code

  1. Dans la barre de menus AWS Cloud9 IDE, choisissez Exécuter, Exécuter les configurations, Nouvelle configuration d'exécution.

  2. Dans l'onglet [Nouveau] - Idle, choisissez Runner : Auto, puis choisissez 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 en savoir plusIDs, consultez la liste des fuseaux horaires pris en charge sur le PHP site Web.

    • 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 en savoir plusIDs, consultez Amazon Simple Storage Service (Amazon S3) dans le. 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, consultez Suppression d'un environnement dans AWS Cloud9.

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

Si vous rencontrez des problèmes avec le PHP CLI lanceur, vous devez vous assurer que celui-ci a été configuré sur PHP et que le mode débogueur est activé.