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
Rubriques
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.
-
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 --version
commande. (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. -
Exécutez la commande
yum update
(pour Amazon Linux) ou la commandeapt 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
-
Installez PHP en exécutant la
install
commande.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
-
Dans la barre de menus AWS Cloud9 IDE, choisissez Exécuter, Exécuter les configurations, Nouvelle configuration d'exécution.
-
Dans l'onglet [Nouveau] - Idle, choisissez Runner : Auto, puis choisissez PHP(cli).
-
Pour Commande), saisissez
hello.php 5 9
. Dans le code,5
représente$argv[1]
, et9
représente$argv[2]
. ($argv[0]
représente le nom du fichier (hello.php
).) -
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.
É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
Pour installer Composer
Exécutez la curl
commande 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
-
Dans la barre de menus AWS Cloud9 IDE, choisissez Exécuter, Exécuter les configurations, Nouvelle configuration d'exécution.
-
Dans l'onglet [Nouveau] - Idle, choisissez Runner : Auto, puis choisissez PHP(cli).
-
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 chargesur 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-2
est 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
-
-
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é.