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 Hello World! 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
Über die Azure CLI ist der Befehl az webapp up verfügbar, der die erforderlichen Ressourcen erstellt und Ihre Anwendung in einem einzigen Schritt bereitstellt.
Stelle den Code mit dem az webapp upBefehl im Terminal in deinem lokalen Ordner bereit:
az webapp up --runtime "PHP:8.2" --os-type=linux
- Wenn der
azBefehl nicht erkannt wird, musst Du sicherstellen, dass Du Azure CLI installiert hast. - Das Argument
--runtime "PHP:8.2"erstellt die Web-App mit PHP Version 8.2. - Das
--os-type=linuxArgument erstellt die Web-App auf App Service für Linux. - Sie können optional einen Namen mit dem Argument
--name <app-name>angeben. Wenn Sie keinen Namen angeben, wird automatisch einer generiert. - Optional können Sie das Argument
--___location <___location-name>einfügen, wobei<location_name>eine verfügbare Azure-Region ist. Sie können eine Liste der zulässigen Regionen für Ihr Azure-Konto abrufen, indem Sie den Befehlaz account list-locationsausführen. - Wenn Sie den Fehler Der Laufzeitstapel Ihrer App konnte nicht automatisch erkannt werden sehen, stellen Sie sicher, dass Sie den Befehl im Verzeichnis des Codes ausführen. Weitere Informationen finden Sie unter Problembehandlung bei der automatischen Erkennung von Problemen mit az webapp up.
Die Ausführung des Befehls kann einige Minuten dauern. Bei der Ausführung werden Meldungen zum Erstellen der Ressourcengruppe, des App Service-Plans und der App-Ressource, zur Konfiguration der Protokollierung und zur ZIP-Bereitstellung angezeigt. Anschließend wird die URL der App in Azure bereitgestellt.
The webapp '<app-name>' doesn't exist
Creating Resource group '<group-name>' ...
Resource group creation complete
Creating AppServicePlan '<app-service-plan-name>' ...
Creating webapp '<app-name>' ...
Configuring default logging for the app, if not already enabled
Creating zip with contents of <directory-___location> ...
Getting scm site credentials for zip deployment
Starting zip deployment. This operation can take a while to complete ...
Deployment endpoint responded with status code 202
You can launch the app at http://<app-name>.azurewebsites.net
{
"URL": "http://<app-name>.azurewebsites.net",
"appserviceplan": "<app-service-plan-name>",
"___location": "centralus",
"name": "<app-name>",
"os": "linux",
"resourcegroup": "<group-name>",
"runtime_version": "php|8.2",
"runtime_version_detected": "0.0",
"sku": "FREE",
"src_path": "<directory-path>"
}
Hinweis
Der Befehl az webapp up bewirkt Folgendes:
Erstellen einer Standardressourcengruppe
Erstellen eines App Service-Plans
Erstellen einer App mit dem angegebenen Namen
Bereitstellen eines ZIP-Pakets aller Dateien aus dem aktuellen Arbeitsverzeichnis mit aktivierter Buildautomatisierung
Die Parameter werden lokal in der Datei .azure/config zwischengespeichert, sodass Sie sie später bei der Bereitstellung mit
az webapp upoder anderenaz webapp-Befehlen im Projektordner nicht erneut angeben müssen. Die zwischengespeicherten Werte werden standardmäßig automatisch verwendet.
Navigieren Sie in Ihrem Webbrowser unter der URL, die im Terminal angegeben ist, zu der bereitgestellten Anwendung.
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 Deine Änderungen und stelle die App dann mit dem Befehl az webapp up mit diesen Argumenten erneut bereit:
az webapp up --runtime "PHP:8.2" --os-type=linuxWechseln 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.