Erstellen einer PHP-Web-App in AzureCreate a PHP web app in Azure

Hinweis

In diesem Artikel wird eine App in App Service unter Windows bereitgestellt.This article deploys an app to App Service on Windows. Informationen zur Bereitstellung in App Service unter Linux finden Sie unter Erstellen einer PHP-Web-App in App Service unter Linux.To deploy to App Service on Linux, see Create a PHP web app in App Service on Linux.

Von Azure App Service wird ein hochgradig skalierbarer Webhostingdienst mit Self-Patching bereitgestellt.Azure App Service provides a highly scalable, self-patching web hosting service. In diesem Schnellstarttutorial wird erläutert, wie Sie eine PHP-App in Azure App Service bereitstellen.This quickstart tutorial shows how to deploy a PHP app to Azure App Service. Sie erstellen die Web-App mithilfe der Azure-Befehlszeilenschnittstelle in Cloud Shell und stellen mit Git PHP-Beispielcode für die Web-App bereit.You create the web app using the Azure CLI in Cloud Shell, and you use Git to deploy sample PHP code to the web app.

In Azure ausgeführte Beispiel-App

Die folgenden Schritte können unter Mac, Windows oder Linux ausgeführt werden.You can follow the steps here using a Mac, Windows, or Linux machine. Nachdem die erforderlichen Komponenten installiert wurden, können die Schritte in etwa fünf Minuten durchgeführt werden.Once the prerequisites are installed, it takes about five minutes to complete the steps.

Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

So führen Sie diesen Schnellstart durch:To complete this quickstart:

Lokales Herunterladen des BeispielsDownload the sample locally

Führen Sie in einem Terminalfenster die folgenden Befehle aus.In a terminal window, run the following commands. Dadurch wird die Beispielanwendung auf Ihren lokalen Computer geklont und zum Verzeichnis mit dem Beispielcode gewechselt.This will clone the sample application to your local machine, and navigate to the directory containing the sample code.

git clone https://github.com/Azure-Samples/php-docs-hello-world
cd php-docs-hello-world

Lokales Ausführen der AppRun the app locally

Führen Sie die Anwendung lokal aus, damit Sie sehen, wie sie beim Bereitstellen in Azure aussehen sollte.Run the application locally so that you see how it should look when you deploy it to Azure. Öffnen Sie ein Terminalfenster, und verwenden Sie den Befehl php, um den integrierten PHP-Webserver zu starten.Open a terminal window and use the php command to launch the built-in PHP web server.

php -S localhost:8080

Öffnen Sie einen Webbrowser, und navigieren Sie zu der Beispielapp auf http://localhost:8080.Open a web browser, and navigate to the sample app at http://localhost:8080.

Die Nachricht Hello World!You see the Hello World! aus der Beispiel-App wird auf der Seite angezeigt.message from the sample app displayed in the page.

Lokal ausgeführte Beispiel-App

Drücken Sie in Ihrem Terminalfenster STRG+C, um den Webserver zu beenden.In your terminal window, press Ctrl+C to exit the web server.

Verwenden von Azure Cloud ShellUse Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell ermöglicht die Verwendung von bash oder PowerShell, um mit Azure-Diensten zu arbeiten.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Starten von Azure Cloud Shell:To launch Azure Cloud Shell:

OptionOption Beispiel/LinkExample/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.Selecting Try It doesn't automatically copy the code to Cloud Shell. Beispiel für „Testen Sie es.“ für Azure Cloud Shell
Rufen Sie https://shell.azure.com auf, oder wählen Sie die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Starten von Cloud Shell in einem neuen FensterLaunch Cloud Shell in a new window
Wählen Sie im Azure-Portal oben rechts in der Menüleiste die Schaltfläche Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Cloud Shell-Schaltfläche im Azure-Portal

Ausführen des Codes in diesem Artikel in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Starten Sie Cloud Shell.Launch Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.Select the Copy button on a code block to copy the code.

  3. Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Drücken Sie die EINGABETASTE, um den Code auszuführen.Press Enter to run the code.

Konfigurieren eines BereitstellungsbenutzersConfigure a deployment user

Für die Bereitstellung in einer Azure-Web-App über FTP oder ein lokales Git kann ein Bereitstellungsbenutzer verwendet werden.FTP and local Git can deploy to an Azure web app by using a deployment user. Nach der Konfiguration des Bereitstellungsbenutzers können Sie ihn für alle Azure-Bereitstellungen verwenden.Once you configure your deployment user, you can use it for all your Azure deployments. Der Benutzername und das Kennwort für die Bereitstellung auf Kontoebene unterscheiden sich von den Anmeldeinformationen für Ihr Azure-Abonnement.Your account-level deployment username and password are different from your Azure subscription credentials.

Führen Sie zum Konfigurieren des Bereitstellungsbenutzers den Befehl az webapp deployment user set in Azure Cloud Shell aus.To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Ersetzen Sie „<username>“ und „<password>“ durch Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung.Replace <username> and <password> with a deployment user username and password.

  • Der Benutzername muss in Azure eindeutig sein und darf bei lokalen Git-Pushes nicht das Symbol „@“ enthalten.The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Das Kennwort muss mindestens acht Zeichen lang sein und zwei der folgenden drei Elemente enthalten: Buchstaben, Zahlen und Symbole.The password must be at least eight characters long, with two of the following three elements: letters, numbers, and symbols.
az webapp deployment user set --user-name <username> --password <password>

In der JSON-Ausgabe wird das Kennwort als null angezeigt.The JSON output shows the password as null. Wenn Sie den Fehler 'Conflict'. Details: 409 erhalten, müssen Sie den Benutzernamen ändern.If you get a 'Conflict'. Details: 409 error, change the username. Wenn Sie den Fehler 'Bad Request'. Details: 400 erhalten, müssen Sie ein sichereres Kennwort verwenden.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Notieren Sie Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung Ihrer Web-Apps.Record your username and password to use to deploy your web apps.

Erstellen einer RessourcengruppeCreate a resource group

Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen wie Web-Apps, Datenbanken und Speicherkonten bereitgestellt und verwaltet werden.A resource group is a logical container into which Azure resources like web apps, databases, and storage accounts are deployed and managed. Sie können z.B. die gesamte Ressourcengruppe später in einem einfachen Schritt löschen.For example, you can choose to delete the entire resource group in one simple step later.

Erstellen Sie in Cloud Shell mit dem Befehl az group create eine Ressourcengruppe.In the Cloud Shell, create a resource group with the az group create command. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort Europa, Westen.The following example creates a resource group named myResourceGroup in the West Europe location. Wenn Sie alle unterstützten Standorte für App Service im Free-Tarif anzeigen möchten, führen Sie den Befehl az appservice list-locations --sku FREE aus.To see all supported locations for App Service in Free tier, run the az appservice list-locations --sku FREE command.

az group create --name myResourceGroup --location "West Europe"

Im Allgemeinen erstellen Sie Ressourcengruppen und Ressourcen in einer Region in Ihrer Nähe.You generally create your resource group and the resources in a region near you.

Nach Ausführung dieses Befehls werden die Ressourcengruppeneigenschaften in einer JSON-Ausgabe angezeigt.When the command finishes, a JSON output shows you the resource group properties.

Erstellen eines Azure App Service-PlansCreate an Azure App Service plan

Erstellen Sie in Cloud Shell mit dem Befehl az appservice plan create einen App Service-Plan.In the Cloud Shell, create an App Service plan with the az appservice plan create command.

Im folgenden Beispiel wird ein App Service-Plan namens myAppServicePlan mit dem Tarif Free erstellt:The following example creates an App Service plan named myAppServicePlan in the Free pricing tier:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE

Nach Erstellung des App Service-Plans zeigt die Azure-Befehlszeilenschnittstelle Informationen wie im folgenden Beispiel an:When the App Service plan has been created, the Azure CLI shows information similar to the following example:

{ 
  "adminSiteName": null,
  "appServicePlanName": "myAppServicePlan",
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "app",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Erstellen einer Web-AppCreate a web app

Erstellen Sie in Cloud Shell mit dem Befehl az webapp create eine Web-App im App Service-Plan myAppServicePlan.In the Cloud Shell, create a web app in the myAppServicePlan App Service plan with the az webapp create command.

Ersetzen Sie im folgenden Beispiel <app_name> durch einen global eindeutigen App-Namen (gültige Zeichen sind a-z, 0-9 und -).In the following example, replace <app_name> with a globally unique app name (valid characters are a-z, 0-9, and -). Die Runtime ist auf PHP|7.0 festgelegt.The runtime is set to PHP|7.0. Führen Sie az webapp list-runtimes aus, um alle unterstützten Laufzeiten anzuzeigen.To see all supported runtimes, run az webapp list-runtimes.

# Bash
az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git

Nach Erstellung der Web-App zeigt die Azure CLI eine Ausgabe wie im folgenden Beispiel an:When the web app has been created, the Azure CLI shows output similar to the following example:

Local git is configured with url of 'https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git'
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app_name>.azurewebsites.net",
  "enabled": true,
  < JSON data removed for brevity. >
}

Sie haben eine leere neue Web-App mit aktivierter Git-Bereitstellung erstellt.You’ve created an empty new web app, with git deployment enabled.

Hinweis

Die URL des Git-Remotespeicherorts wird in der deploymentLocalGitUrl-Eigenschaft im Format https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git angezeigt.The URL of the Git remote is shown in the deploymentLocalGitUrl property, with the format https://<username>@<app_name>.scm.azurewebsites.net/<app_name>.git. Speichern Sie diese URL, da Sie sie später noch benötigen.Save this URL as you need it later.

Wechseln Sie zu Ihrer neu erstellten Web-App.Browse to your newly created web app. Ersetzen Sie <app name> durch Ihren eindeutigen App-Namen, den Sie im vorherigen Schritt erstellt haben.Replace <app name> with your unique app name created in the prior step.

http://<app name>.azurewebsites.net

Ihre neue Web-App sollte nun wie folgt aussehen:Here is what your new web app should look like:

Leere Web-App-Seite

Übertragen von Git an Azure mithilfe von PushPush to Azure from Git

Kehren Sie zum lokalen Terminalfenster zurück, und fügen Sie Ihrem lokalen Git-Repository einen Azure-Remotespeicherort hinzu.Back in the local terminal window, add an Azure remote to your local Git repository. Ersetzen Sie <deploymentLocalGitUrl-from-create-step> durch die URL des Git-Remotespeicherorts, den Sie in Erstellen einer Web-App gespeichert haben.Replace <deploymentLocalGitUrl-from-create-step> with the URL of the Git remote that you saved from Create a web app.

git remote add azure <deploymentLocalGitUrl-from-create-step>

Führen Sie einen Pushvorgang zum Azure-Remotespeicherort durch, um Ihre App mit dem folgenden Befehl bereitzustellen.Push to the Azure remote to deploy your app with the following command. Wenn Sie von der Git-Anmeldeinformationsverwaltung zur Eingabe von Anmeldeinformationen aufgefordert werden, müssen Sie die Anmeldeinformationen eingeben, die Sie in „Konfigurieren eines Bereitstellungsbenutzers“ erstellt haben (nicht die Anmeldeinformationen, die Sie zur Anmeldung beim Azure-Portal verwenden).When prompted for credentials by Git Credential Manager, make sure that you enter the credentials you created in Configure a deployment user, not the credentials you use to sign in to the Azure portal.

git push azure master

Die Ausführung dieses Befehls kann einige Minuten in Anspruch nehmen.This command may take a few minutes to run. Während der Ausführung werden Informationen angezeigt, die den Informationen im folgenden Beispiel ähneln:While running, it displays information similar to the following example:

Counting objects: 2, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 352 bytes | 0 bytes/s, done.
Total 2 (delta 1), reused 0 (delta 0)
remote: Updating branch 'master'.
remote: Updating submodules.
remote: Preparing deployment for commit id '25f18051e9'.
remote: Generating deployment script.
remote: Running deployment command...
remote: Handling Basic Web Site deployment.
remote: Kudu sync from: '/home/site/repository' to: '/home/site/wwwroot'
remote: Copying file: '.gitignore'
remote: Copying file: 'LICENSE'
remote: Copying file: 'README.md'
remote: Copying file: 'index.php'
remote: Ignoring: .git
remote: Finished successfully.
remote: Running post deployment command(s)...
remote: Deployment successful.
To https://<app_name>.scm.azurewebsites.net/<app_name>.git
   cc39b1e..25f1805  master -> master

Navigieren zur AppBrowse to the app

Navigieren Sie in Ihrem Webbrowser zu der bereitgestellten Anwendung.Browse to the deployed application using your web browser.

http://<app_name>.azurewebsites.net

Der PHP-Beispielcode wird in einer Azure App Service-Web-App ausgeführt.The PHP sample code is running in an Azure App Service web app.

In Azure ausgeführte Beispiel-App

Glückwunsch!Congratulations! Sie haben Ihre erste PHP-App für App Service bereitgestellt.You've deployed your first PHP app to App Service.

Lokales Aktualisieren und erneutes Bereitstellen des CodesUpdate locally and redeploy the code

Öffnen Sie die Datei index.php innerhalb der PHP-App mit einem lokalen Text-Editor, und ändern Sie den Text in der Zeichenfolge neben echo geringfügig:Using a local text editor, open the index.php file within the PHP app, and make a small change to the text within the string next to echo:

echo "Hello Azure!";

Committen Sie Ihre Änderungen im lokalen Terminalfenster in Git, und übertragen Sie die Codeänderungen mithilfe von Push an Azure.In the local terminal window, commit your changes in Git, and then push the code changes to Azure.

git commit -am "updated output"
git push azure master

Wechseln Sie nach Abschluss der Bereitstellung wieder zu dem Browserfenster, das im Schritt Navigieren zur App geöffnet wurde, und aktualisieren Sie die Seite.Once deployment has completed, return to the browser window that opened during the Browse to the app step, and refresh the page.

In Azure ausgeführte aktualisierte Beispiel-App

Verwalten Ihrer neuen Azure-AppManage your new Azure app

Wechseln Sie zum Azure-Portal, um die erstellte Web-App zu verwalten.Go to the Azure portal to manage the web app you created.

Klicken Sie im linken Menü auf App Services und anschließend auf den Namen Ihrer Azure-App.From the left menu, click App Services, and then click the name of your Azure app.

Portalnavigation zur Azure-App

Die Übersichtsseite Ihrer Web-App wird angezeigt.Your web app's Overview page will be displayed. Hier können Sie einfache Verwaltungsaufgaben wie Durchsuchen, Beenden, Neustarten und Löschen durchführen.Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

App Service-Seite im Azure-Portal

Im linken Menü werden verschiedene Konfigurationsoptionen für Ihre App angezeigt.The left menu provides different options for configuring your app.

Bereinigen von RessourcenClean up resources

In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt.In the preceding steps, you created Azure resources in a resource group. Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, löschen Sie die Ressourcengruppe, indem Sie den folgenden Befehl in Cloud Shell ausführen:If you don't expect to need these resources in the future, delete the resource group by running the following command in the Cloud Shell:

az group delete --name myResourceGroup

Die Ausführung dieses Befehls kann eine Minute in Anspruch nehmen.This command may take a minute to run.

Nächste SchritteNext steps