AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Cloud9 können den Service weiterhin wie gewohnt nutzen. Weitere Informationen
Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
In diesem Tutorial können Sie einige PHP Skripts in einer AWS Cloud9 Entwicklungsumgebung ausführen.
Wenn Sie diesem Tutorial folgen und dieses Beispiel erstellen, kann dies dazu führen, dass Ihr AWS
Konto belastet wird. Dazu gehören mögliche Gebühren für Dienste wie Amazon EC2 und Amazon S3. Weitere Informationen finden Sie unter EC2Amazon-Preise
Themen
Voraussetzungen
Bevor Sie dieses Beispiel verwenden, stellen Sie sicher, dass Ihre Einrichtung die folgenden Anforderungen erfüllt:
-
Sie müssen über eine bestehende AWS Cloud9 EC2 Entwicklungsumgebung verfügen. In diesem Beispiel wird davon ausgegangen, dass Sie bereits über eine EC2 Umgebung verfügen, die mit einer EC2 Amazon-Instance verbunden ist, auf der Amazon Linux ausgeführt wird, oder Ubuntu Server. Wenn Sie ein andere Art von Umgebung oder ein anderes Betriebssystem verwenden, müssen Sie die Anweisungen dieses Beispiels zum Einrichten zugehöriger Tools möglicherweise anpassen. Weitere Informationen finden Sie unter Schaffung einer Umgebung in AWS Cloud9.
-
Sie haben die AWS Cloud9 IDE für die bestehende Umgebung bereits geöffnet. Wenn Sie eine Umgebung AWS Cloud9 öffnen, wird die IDE für diese Umgebung in Ihrem Webbrowser geöffnet. Weitere Informationen finden Sie unter Öffnen einer Umgebung in AWS Cloud9.
Schritt 1: Installieren der erforderlichen Tools
In diesem Schritt installieren SiePHP, was für die Ausführung dieses Beispiels erforderlich ist.
Anmerkung
Das folgende Verfahren installiert PHP nur. Informationen zur Installation verwandter Tools wie eines Apache-Webservers und einer My SQL Database finden Sie unter Tutorial: Installation eines LAMP Webservers auf Amazon Linux im EC2Amazon-Benutzerhandbuch.
-
Bestätigen Sie in einer Terminalsitzung im AWS Cloud9 IDE, ob das Programm bereits installiert PHP ist, indem Sie den
php --version
Befehl ausführen. (Um eine neue Terminalsitzung zu starten, wählen Sie in der Menüleiste Window (Fenster), New Terminal (Neues Terminal) aus. Bei Erfolg enthält die Ausgabe die PHP Versionsnummer. Wenn installiert PHP ist, fahren Sie mit fortSchritt 2: Code hinzufügen. -
Führen Sie den Befehl
yum update
für (Amazon Linux) oderapt update
für (Ubuntu Server) aus, um sicherzustellen, dass die Sicherheitsupdates und Fehlerbehebungen auf dem aktuellen Stand sind.Für Amazon Linux 2 und Amazon Linux
sudo yum -y update
Für Ubuntu Server:
sudo apt update
-
Installieren SiePHP, indem Sie den
install
Befehl ausführen.Für Amazon Linux 2:
sudo amazon-linux-extras install -y php7.2
Für Amazon Linux:
sudo yum -y install php72
Anmerkung
Sie können Ihre Version von Amazon Linux mit dem folgenden Befehl anzeigen.
cat /etc/system-release
Für Ubuntu Server:
sudo apt install -y php php-xml
Weitere Informationen finden Sie unter Installation und Konfiguration
auf der PHP Website.
Schritt 2: Code hinzufügen
Erstellen Sie im AWS Cloud9 IDE eine Datei mit diesem Inhalt und speichern Sie die Datei unter dem Namenhello.php
. (Um eine Datei zu erstellen, wählen Sie in der Menüleiste File (Datei), New File (Neue Datei)aus. Um die Datei zu speichern, wählen Sie File, Save (Speichern), geben Sie hello.php
für File name (Dateiname) ein und wählen Sie anschließend Save.)
<?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.");
?>
Anmerkung
Der zuvor genannten Code greift nicht auf externe Dateien zu. Wenn Sie jedoch jemals andere PHP Dateien in Ihre Datei aufnehmen oder benötigen und diese Dateien für die Codevervollständigung während der Eingabe verwenden AWS Cloud9 möchten, aktivieren Sie in den Einstellungen die Einstellung Projekt, PHP Support, PHP Codevervollständigung aktivieren, und fügen Sie dann die Pfade zu diesen Dateien zur Einstellung Projekt, PHP Support, PHP Vervollständigung Pfade einschließen hinzu. (Um Ihre Einstellungen anzuzeigen und zu ändern AWS Cloud9, wählen Sie in der Menüleiste „Einstellungen“.)
Schritt 3: Ausführen des Codes
-
Wählen Sie in der AWS Cloud9 IDE Menüleiste „Ausführen“, „Konfigurationen ausführen“, „Neue Ausführungskonfiguration“.
-
Wählen Sie auf der Registerkarte [Neu] — Leerlauf die Option Runner: Auto und dann PHP(cli).
-
Geben Sie für Command (Befehl)
hello.php 5 9
ein. Im Code stehen5
für$argv[1]
und9
für$argv[2]
. ($argv[0]
steht für den Namen der Datei (hello.php
).) -
Klicken Sie auf Run (Ausführen) und vergleichen Sie die Ausgabe.
Hello, World! The sum of 2 and 3 is 5. The sum of 5 and 9 is 14.
Schritt 4: Installieren und konfigurieren Sie AWS SDK for PHP
Sie können dieses Beispiel dahingehend erweitern, dass Sie den verwenden, AWS SDK for PHP um einen Amazon S3 S3-Bucket zu erstellen, Ihre verfügbaren Buckets aufzulisten und dann den gerade erstellten Bucket zu löschen.
In diesem Schritt installieren und konfigurieren Sie den AWS SDK for PHP, der eine bequeme Möglichkeit bietet, mit AWS Diensten wie Amazon S3 von Ihrem PHP Code aus zu interagieren. Bevor Sie das installieren können AWS SDK for PHP, sollten Sie Composer
So installieren Sie Composer
Führen Sie den curl
Befehl mit den Optionen silent (-s
) und show error (-S
) aus und leiten Sie das Composer-Installationsprogramm an eine PHP Archivdatei (PHAR) weiter, die composer.phar
nach Konvention benannt ist.
curl -sS https://getcomposer.org/installer | php
Um das zu installieren AWS SDK for PHP
Installieren Sie für Ubuntu Server zusätzliche Pakete, die Composer zur Installation der AWS SDK for PHP benötigt.
sudo apt install -y php-xml php-curl
Verwenden Sie für Amazon Linux oder Ubuntu Server den Befehl php, um das Composer-Installationsprogramm auszuführen und die AWS SDK for PHP zu installieren.
php composer.phar require aws/aws-sdk-php
Mit diesem Befehl werden mehrere Ordner und Dateien in Ihrer Umgebung; erstellt. Die primäre Datei, die Sie verwenden, ist autoload.php
. Sie befindet sich im vendor
-Ordner in Ihrer Umgebung.
Anmerkung
Nach der Installation kann der Composer vorschlagen, dass Sie zusätzliche Abhängigkeiten installieren. Sie können dies mit einem Befehl wie dem folgenden tun, der die Liste der zu installierenden Abhängigkeiten angibt. Der folgende Befehl weist den Composer beispielsweise an, die aufgeführten Abhängigkeiten zu installieren.
php composer.phar require psr/log ext-curl doctrine/cache aws/aws-php-sns-message-validator
Weitere Informationen finden Sie unter Installation im AWS SDK for PHP Entwicklerhandbuch.
So richten Sie die Anmeldeinformationsverwaltung in Ihrer Umgebung ein
Jedes Mal, wenn Sie den verwenden, AWS SDK for PHP um einen AWS Dienst aufzurufen, müssen Sie bei dem Anruf eine Reihe von Anmeldeinformationen angeben. Diese Anmeldeinformationen bestimmen, ob der AWS SDK for PHP über die entsprechenden Berechtigungen verfügt, um diesen Anruf zu tätigen. Wenn die Anmeldeinformationen nicht die entsprechenden Berechtigungen haben, schlägt der Aufruf fehl.
In diesem Schritt speichern Sie Ihre Anmeldeinformationen innerhalb der Umgebung. Folgen Sie dazu den Anweisungen unter AWS-Services Aus einer Umgebung anrufen in AWS Cloud9 und kehren Sie dann zu diesem Thema zurück.
Weitere Informationen finden Sie im Bereich „Creating a client“unter Grundlegende Nutzung im AWS SDK for PHP -Entwicklerhandbuch.
Schritt 5: AWS SDK Code hinzufügen
In diesem Schritt fügen Sie weiteren Code hinzu. Dieses Mal für die Interaktion mit Amazon S3, um einen Bucket zu erstellen, Ihre verfügbaren Buckets aufzulisten und anschließend den Bucket zu löschen, den Sie zuvor erstellt haben. Sie führen diesen Code später aus.
Erstellen Sie im AWS Cloud9 IDE eine Datei mit diesem Inhalt und speichern Sie die Datei unter dem Namens3.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);
?>
Schritt 6: Führen Sie den AWS SDK Code aus
-
Wählen Sie in der AWS Cloud9 IDE Menüleiste die Optionen Ausführen, Konfigurationen ausführen, Neue Ausführungskonfiguration aus.
-
Wählen Sie auf der Registerkarte [Neu] — Leerlauf die Option Runner: Auto und dann PHP(cli).
-
Geben Sie für Command (Befehl)
s3.php America/Los_Angeles my-test-bucket us-east-2
ein, wobei:-
America/Los_Angeles
Ihre Standardzeitzonen-ID ist. Weitere Informationen IDs finden Sie auf der PHP Website unter Liste der unterstützten Zeitzonen. -
my-test-bucket
der Name des Buckets ist, den Sie erstellen und anschließend löschen möchten.Anmerkung
Amazon S3 S3-Bucket-Namen müssen überall eindeutig sein AWS— nicht nur in Ihrem AWS Konto.
-
us-east-2
ist die ID der AWS Region, in der Sie den Bucket erstellen möchten. Weitere Informationen IDs finden Sie unter Amazon Simple Storage Service (Amazon S3) in der Allgemeine Amazon Web Services-Referenz.
-
-
Klicken Sie auf Run (Ausführen) und vergleichen Sie die Ausgabe.
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:
Schritt 7: Bereinigen
Um zu verhindern, dass Ihr AWS Konto weiterhin belastet wird, nachdem Sie dieses Beispiel nicht mehr verwendet haben, sollten Sie die Umgebung löschen. Detaillierte Anweisungen finden Sie unter Löschen einer Umgebung in AWS Cloud9.
Behebung von Problemen mit PHP Runner for AWS Cloud9
Falls Sie Probleme mit dem PHP CLI Runner haben, müssen Sie sicherstellen, dass der Runner auf eingestellt PHP und der Debugger-Modus aktiviert ist.