Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Warnung
PHP unter Windows hat im November 2022 das Ende des Supports erreicht. PHP wird nur für App Service unter Linux unterstützt. Dieser Artikel dient nur zu Informationszwecken.
Von Azure App Service wird ein hochgradig skalierbarer Webhostingdienst mit Self-Patching bereitgestellt. In diesem Schnellstarttutorial wird erläutert, wie Sie eine PHP-App in Azure App Service unter Windows bereitstellen.
Sie erstellen die Web-App mithilfe der Azure-Befehlszeilenschnittstelle in Cloud Shell und stellen mit Git PHP-Beispielcode für die Web-App bereit.
Die folgenden Schritte können unter Mac, Windows oder Linux ausgeführt werden. Nachdem die erforderlichen Komponenten installiert wurden, können die Schritte in etwa fünf Minuten durchgeführt werden.
Wenn Sie nicht über ein Azure-Konto verfügen, erstellen Sie ein kostenloses Konto , bevor Sie beginnen.
Voraussetzungen
So führen Sie diesen Schnellstart durch:
Lokales Herunterladen des Beispiels
Führen Sie in einem Terminalfenster die folgenden Befehle aus. Dadurch wird die Beispielanwendung auf Ihren lokalen Computer geklont und zum Verzeichnis mit dem Beispielcode gewechselt.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-worldStellen Sie sicher, dass der Standardbranch
mainist.git branch -m mainTipp
Die Änderung des Branchnamens ist für App Service nicht erforderlich. Da aber viele Repositorys ihren Standardbranch in
mainändern, zeigt Ihnen diese Schnellstartanleitung auch, wie Sie ein Repository ausmainbereitstellen.
Lokales Ausführen der App
Führen Sie die Anwendung lokal aus, damit Sie sehen, wie sie beim Bereitstellen in Azure aussehen sollte. Öffnen Sie ein Terminalfenster, und verwenden Sie den Befehl
php, um den integrierten PHP-Webserver zu starten.php -S localhost:8080Öffnen Sie einen Webbrowser, und navigieren Sie zu der Beispielapp auf
http://localhost:8080.Auf der Seite wird die Nachricht Hallo Welt! aus der Beispiel-App angezeigt.
Drücken Sie in Ihrem Terminalfenster STRG+C, um den Webserver zu beenden.
Azure Cloud Shell
Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. 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.
Starten von Azure Cloud Shell:
| Option | Beispiel/Link |
|---|---|
| Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. |
|
| Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. |
|
| Wählen Sie im Azure-Portal rechts oben auf der Menüleiste die Schaltfläche Cloud Shell aus. |
|
So verwenden Sie Azure Cloud Shell
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.
Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.
Konfigurieren eines Bereitstellungsbenutzers
Für die Bereitstellung in einer Azure-Web-App über FTP oder ein lokales Git kann ein Bereitstellungsbenutzer verwendet werden. Nach der Konfiguration des Bereitstellungsbenutzers können Sie ihn für alle Azure-Bereitstellungen verwenden. Der Benutzername und das Kennwort für die Bereitstellung auf Kontoebene unterscheiden sich von den Anmeldeinformationen für Ihr Azure-Abonnement.
Führen Sie zum Konfigurieren des Bereitstellungsbenutzers den Befehl az webapp deployment user set in Azure Cloud Shell aus. Ersetzen Sie <Benutzername> und <Kennwort> durch einen Benutzernamen und ein Kennwort der Bereitstellungsbenutzerin oder des Bereitstellungsbenutzers.
- Der Benutzername muss in Azure eindeutig sein und darf bei lokalen Git-Pushes nicht das Symbol „@“ enthalten.
- Das Kennwort muss mindestens acht Zeichen lang sein und zwei der folgenden drei Elemente enthalten: Buchstaben, Zahlen und Symbole.
az webapp deployment user set --user-name <username> --password <password>
In der JSON-Ausgabe wird das Kennwort als null angezeigt. Wenn Sie den Fehler 'Conflict'. Details: 409 erhalten, müssen Sie den Benutzernamen ändern. Wenn Sie den Fehler 'Bad Request'. Details: 400 erhalten, müssen Sie ein sichereres Kennwort verwenden.
Notieren Sie Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung Ihrer Web-Apps.
Erstellen einer Ressourcengruppe
Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen wie Web-Apps, Datenbanken und Speicherkonten bereitgestellt und verwaltet werden. Sie können z.B. die gesamte Ressourcengruppe später in einem einfachen Schritt löschen.
Erstellen Sie in Cloud Shell mit dem Befehl az group create eine Ressourcengruppe. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort Europa, Westen. Führen Sie im Tarif Free (Kostenlos) den Befehl az appservice list-locations --sku FREE aus, um alle unterstützten Standorte für App Service anzuzeigen.
az group create --name myResourceGroup --location "West Europe"
Im Allgemeinen erstellen Sie Ressourcengruppen und Ressourcen in einer Region in Ihrer Nähe.
Nach Ausführung dieses Befehls werden die Ressourcengruppeneigenschaften in einer JSON-Ausgabe angezeigt.
Erstellen eines Azure App Service-Plans
Erstellen Sie in Cloud Shell mit dem Befehl az appservice plan create einen App Service-Plan.
Im folgenden Beispiel wird ein App Service-Plan namens myAppServicePlan mit dem Tarif Free erstellt:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
Nach Erstellung des App Service-Plans zeigt die Azure-Befehlszeilenschnittstelle Informationen wie im folgenden Beispiel an:
{
"freeOfferExpirationTime": null,
"geoRegion": "West Europe",
"hostingEnvironmentProfile": null,
"id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
"kind": "linux",
"location": "West Europe",
"maximumNumberOfWorkers": 1,
"name": "myAppServicePlan",
< JSON data removed for brevity. >
"targetWorkerSizeId": 0,
"type": "Microsoft.Web/serverfarms",
"workerTierName": null
}
Erstellen einer Web-App
Erstellen Sie in der Cloud Shell im App Service-Plan
myAppServicePlanmit dem Befehlaz webapp createeine Web-App.Ersetzen Sie im folgenden Beispiel
<app-name>durch einen global eindeutigen App-Namen (gültige Zeichen sinda-z,0-9und-). Die Runtime ist aufPHP|7.4festgelegt. Führen Sieaz webapp list-runtimesaus, um alle unterstützten Runtimes anzuzeigen.az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-gitNach Erstellung der Web-App zeigt die Azure CLI eine Ausgabe wie im folgenden Beispiel an:
Local git is configured with url of <URL> { "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.
Hinweis
Die URL der Git-Remote wird in der
deploymentLocalGitUrlEigenschaft angezeigt. Speichern Sie diese URL, da Sie sie später noch benötigen.Wechseln Sie zu Ihrer neu erstellten Web-App.
Ihre neue Web-App sollte nun wie folgt aussehen:
Übertragen von Git an Azure mithilfe von Push
Da Sie den Branch
mainbereitstellen, müssen Sie den Standardbereitstellungsbranch für Ihre App Service-App aufmainfestlegen. (Siehe Bereitstellungsbranch ändern.) Legen Sie in der Cloud Shell die App-Konfiguration mithilfe desDEPLOYMENT_BRANCHBefehls fest.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'Kehren Sie zum lokalen Terminalfenster zurück, und fügen Sie Ihrem lokalen Git-Repository einen Azure-Remotespeicherort hinzu. Ersetzen Sie <deploymentLocalGitUrl-from-create-step> durch die URL der Git-Fernbedienung, die Sie unter Erstellen einer Web-App gespeichert haben.
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. Wenn Sie von der Git-Anmeldeinformationsverwaltung zur Eingabe von Anmeldeinformationen aufgefordert werden, müssen Sie die Anmeldeinformationen eingeben, die Sie in Konfigurieren einer lokalen Gut-Bereitstellung erstellt haben, nicht die Anmeldeinformationen, die Sie für die Anmeldung beim Azure-Portal verwenden.
git push azure mainDie Ausführung dieses Befehls kann einige Minuten dauern. Während der Ausführung werden Informationen angezeigt, die den Informationen im folgenden Beispiel ähneln:
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 'main'.
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 <URL>
cc39b1e..25f1805 main -> main
Navigieren zur App
Navigieren Sie in Ihrem Webbrowser zu der bereitgestellten Anwendung.
Der PHP-Beispielcode wird in einer Azure App Service-Web-App ausgeführt.
Glückwunsch! Sie haben Ihre erste PHP-App für App Service bereitgestellt.
Lokales Aktualisieren und erneutes Bereitstellen des Codes
Öffnen Sie die Datei
index.phpinnerhalb der PHP-App mit einem lokalen Text-Editor, und ändern Sie den Text in der Zeichenfolge nebenechogeringfügig:echo "Hello Azure!";Committen Sie Ihre Änderungen im lokalen Terminalfenster in Git, und übertragen Sie die Codeänderungen mithilfe von Push an Azure.
git commit -am "updated output" git push azure mainWechseln Sie nach Abschluss der Bereitstellung wieder zu dem Browserfenster, das im Schritt Navigieren zur App geöffnet wurde, und aktualisieren Sie die Seite.
Verwalten Ihrer neuen Azure-App
Wechseln Sie zum Azure-Portal, um die erstellte Web-App zu verwalten. Suchen Sie nach App Services, und wählen Sie diese Option aus.
Wählen Sie den Namen Ihrer Azure-App aus.
Die Seite Übersicht für Ihre Web-App wird angezeigt. Hier können Sie einfache Verwaltungsaufgaben wie Durchsuchen, Beenden, Neustarten und Löschen durchführen.
Im Web-App-Menü werden verschiedene Konfigurationsoptionen für Ihre App angezeigt.
Bereinigen von Ressourcen
In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. 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:
az group delete --name myResourceGroup
Die Ausführung dieses Befehls kann einige Minuten in Anspruch nehmen.
Azure App Service bietet einen hochgradig skalierbaren Self-Patching-Dienst für das Webhosting. In diesem Schnellstart wird erläutert, wie Du eine PHP-App in Azure App Service unter Linux bereitstellst.
Die folgenden Schritte können unter Mac, Windows oder Linux ausgeführt werden. Nachdem die erforderlichen Komponenten installiert sind, dauert es etwa zehn Minuten, bis die Schritte ausgeführt sind.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Git-Client
- PHP
- Azure CLI verwendet sie für die Ausführung von Befehlen in einer beliebigen Shell, um Azure-Ressourcen zu erstellen und zu konfigurieren.
Laden Sie das Beispiel-Repository herunter
In den folgenden Schritten erstellen Sie die Web-App mithilfe der Azure CLI und stellen dann PHP-Beispielcode für die Web-App bereit.
Sie können Azure Cloud Shell verwenden.
Führen Sie in einem Terminalfenster die folgenden Befehle aus, um die Beispielanwendung auf Ihren lokalen Computer zu klonen, und navigieren Sie zum Projektstamm.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-worldUm die Anwendung lokal auszuführen, verwendest Du den
phpBefehl, um den integrierten PHP-Webserver zu starten.php -S localhost:8080Navigieren Sie in einem Webbrowser unter
http://localhost:8080zur Beispielanwendung.
Drücken Sie in Ihrem Terminalfenster STRG+C, um den Webserver zu beenden.
Bereitstellen des Anwendungscodes in Azure
Erstellen Sie die Azure-Ressourcen und bereiten Sie die Anwendung mit separaten Azure CLI-Befehlen bereit.
Ersetzen Sie im Terminal <app-name> durch einen global eindeutigen Namen und erstellen Sie die Ressourcengruppe, den Linux-App-Service-Plan und die PHP-Web-App:
az group create --name myResourceGroup --location eastus
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku P0v3 --is-linux
az webapp create --name <app-name> --resource-group myResourceGroup --plan myAppServicePlan --runtime "PHP:8.2"
- Wenn der
azBefehl nicht erkannt wird, musst Du sicherstellen, dass Du Azure CLI installiert hast. - Das Argument
--runtime "PHP:8.2"erstellt eine PHP 8.2 Web-App;--is-linuxwählt App Service für Linux. - Mit dem Argument
--sku P0v3wird ein kostenpflichtiger Premium-v3-Plan ausgewählt. Ersetzen Sieeastusdurch Ihre bevorzugte Region. Du kannst verfügbare Regionen mitaz account list-locationsauflisten.
Erstelle ein ZIP-Archiv, das die Dateien aus dem Verzeichnis php-docs-hello-world im Stammverzeichnis des Archivs enthält, nicht das umschließende Verzeichnis. Unter Linux oder macOS führen Sie zip -r ../app.zip . -x '*/.git/*' '*/.env*' aus dem Anwendungsverzeichnis aus. Unter Windows kann man Compress-Archive -Path * -DestinationPath ..\app.zip im PowerShell aus dem Anwendungsverzeichnis ausführen. Dann setzen Sie es ein:
az webapp deploy --resource-group myResourceGroup --name <app-name> --src-path ../app.zip --type zip
Navigieren Sie zu https://<app-name>.azurewebsites.net, um die bereitgestellte Anwendung anzuzeigen.
Der PHP-Beispielcode wird in Azure App Service ausgeführt.
Glückwunsch! Sie haben Ihre erste PHP-App für App Service über das Azure-Portal bereitgestellt.
Aktualisieren und erneutes Bereitstellen der App
Suchen Sie das Verzeichnis php-docs-hello-world und öffnen Sie die index.php Datei mit einem lokalen Texteditor. Nehmen Sie eine kleine Änderung am Text in der Zeichenfolge neben
echovor:echo "Hello Azure!";Speichere Sie Ihre Änderungen, erstellen Sie ../app.zip neu aus den Anwendungsdateien, wie in Stellen Sie Ihren Anwendungscode in Azure bereit beschrieben, und stellen Sie sie erneut bereit:
az webapp deploy --resource-group myResourceGroup --name <app-name> --src-path ../app.zip --type zipWechseln Sie nach Abschluss der Bereitstellung wieder zu dem Browserfenster, das im Schritt Navigieren zur App geöffnet wurde, und aktualisieren Sie die Seite.
Verwalten Ihrer neuen Azure-App
Wechseln Sie zum Azure-Portal, um die erstellte Web-App zu verwalten. Suchen Sie nach App Services, und wählen Sie diese Option aus.
Wählen Sie Ihre Azure-App aus, um sie zu öffnen.
Die Seite Übersicht für Ihre Web-App sollte angezeigt werden. Hier können Sie einfache Verwaltungsaufgaben wie Durchsuchen, Beenden, Neustarten und Löschen durchführen.
Im Web-App-Menü werden verschiedene Konfigurationsoptionen für Ihre App angezeigt.
Bereinigen von Ressourcen
Wenn Sie mit der Beispiel-App fertig sind, können Sie alle Ressourcen für die App aus Azure entfernen, um zusätzliche Gebühren zu vermeiden und Ihr Azure-Abonnement übersichtlich zu halten. Wenn Sie die Ressourcengruppe entfernen, werden auch alle Ressourcen in der Ressourcengruppe entfernt. Dies stellt die schnellste Möglichkeit dar, alle Azure-Ressourcen für Ihre App zu entfernen.
Löschen Sie die Ressourcengruppe mit dem Befehl az group delete.
az group delete --name myResourceGroup
Die Ausführung dieses Befehls kann eine Minute dauern.