PHP-Tutorial für AWS Cloud9 - AWS Cloud9

AWS Cloud9 ist für Neukunden nicht mehr verfügbar. Bestandskunden von AWS Cloud9 können den Service weiterhin wie gewohnt nutzen. Erfahren Sie mehr“

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.

PHP-Tutorial für AWS Cloud9

In diesem Tutorial können Sie einige PHP-Skripte in einer AWS Cloud9 Entwicklungsumgebung ausführen.

Wenn Sie diesem Tutorial folgen und dieses Beispiel erstellen, kann dies zu Gebühren für Ihr AWS Konto führen. Dies umfasst mögliche Kosten für Services wie Amazon EC2 und Amazon S3. Weitere Informationen finden Sie unter Amazon EC2 – Preise und Amazon S3 – Preise.

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. Bei diesem Beispiel wird davon ausgegangen, dass Sie bereits eine EC2-Umgebung eingerichtet haben, die mit einer Amazon-EC2-Instance verbunden ist, die Amazon Linux oder Ubuntu Server ausführt. 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 Sie PHP, das erforderlich ist, um dieses Beispiel auszuführen.

Anmerkung

Im folgenden Verfahren wird nur PHP installiert. Informationen zur Installation verwandter Tools wie eines Apache-Webservers und einer MySQL-Datenbank finden Sie unter Tutorial: Installation eines LAMP-Webservers auf Amazon Linux im Amazon EC2-Benutzerhandbuch.

  1. Vergewissern Sie sich in einer Terminalsitzung in der AWS Cloud9 IDE, ob PHP bereits installiert ist, indem Sie den php --versionBefehl 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 PHP installiert ist, fahren Sie mit Schritt 2: Code hinzufügen fort.

  2. Führen Sie den Befehl yum update für (Amazon Linux) oder apt 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
  3. Installieren Sie PHP, indem Sie den Befehl install 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 and Configuration auf der PHP-Website.

Schritt 2: Code hinzufügen

Erstellen Sie in der 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 die Einstellung Projekt, PHP-Unterstützung, PHP-Codevervollständigung aktivieren in den Einstellungen und fügen Sie dann die Pfade zu diesen Dateien zur Einstellung Projekt, PHP-Unterstützung, PHP-Vervollständigung einschließen Pfade hinzu. (Um Ihre Einstellungen anzuzeigen und zu ändern AWS Cloud9, wählen Sie in der Menüleiste „Einstellungen“.)

Schritt 3: Ausführen des Codes

  1. Wählen Sie in der Menüleiste der AWS Cloud9 IDE die Optionen Ausführen, Konfigurationen ausführen, Neue Ausführungskonfiguration aus.

  2. Wählen Sie auf der Registerkarte [New] - Idle ([Neu] – Leerlauf) die Option Runner: Auto und dann PHP (cli) aus.

  3. Geben Sie für Command (Befehl) hello.php 5 9 ein. Im Code stehen 5 für $argv[1] und 9 für $argv[2]. ($argv[0] steht für den Namen der Datei (hello.php).)

  4. 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.
Ausgabe der Ausführung des PHP-Codes in der AWS Cloud9 IDE

Schritt 4: Installieren und konfigurieren Sie den AWS SDK for PHP

Sie können dieses Beispiel erweitern, um mit dem einen Amazon S3 S3-Bucket AWS SDK for PHP 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 installieren. Nach der AWS SDK for PHP Installation von müssen Sie die Verwaltung der Anmeldeinformationen in Ihrer Umgebung einrichten. The AWS SDK for PHP benötigt diese Anmeldeinformationen, um mit AWS Diensten zu interagieren.

So installieren Sie Composer

Führen Sie den curl -Befehl mit den Optionen „silent“ (-s) und „show error“ (-S) aus, indem Sie das Composer-Installationsprogramm in eine PHP-Archivdatei überleiten, die gemeinhin composer.phar genannt wird.

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 beim Anruf eine Reihe von Anmeldeinformationen angeben. Diese Anmeldeinformationen bestimmen, ob der AWS SDK for PHP über die entsprechenden Berechtigungen für den Anruf verfügt. 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 Aufrufen von AWS-Services aus einer Umgebung 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 in der 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

  1. Wählen Sie in der Menüleiste der AWS Cloud9 IDE die Optionen Ausführen, Konfigurationen ausführen, Neue Ausführungskonfiguration aus.

  2. Wählen Sie auf der Registerkarte [New] - Idle ([Neu] – Leerlauf) die Option Runner: Auto und dann PHP (cli) aus.

  3. 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 IDs finden Sie unter List of Supported Timezones auf der PHP-Website.

    • 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-2ist die ID der AWS Region, in der Sie den Bucket erstellen möchten. Weitere IDs finden Sie unter Amazon Simple Storage Service (Amazon S3) im Allgemeine Amazon Web Services-Referenz.

  4. 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. Anweisungen finden Sie unter Löschen einer Umgebung in AWS Cloud9.

Behebung von Problemen mit PHP Runner für AWS Cloud9

Falls Sie Probleme mit dem PHP-CLI-Runner haben, müssen Sie sicherstellen, dass der Runner auf PHP eingestellt und der Debugger-Modus aktiviert ist.