Een PHP-web-app maken in Azure App Service
Azure App Service biedt een uiterst schaalbare webhostingservice met self-patchfunctie. Deze quickstart laat zien hoe u een PHP-app in Azure App Service in Windows implementeert.
U maakt de web-app via de Azure CLI in Cloud Shell en u gebruikt Git om voorbeeldcode van PHP in de web-app te implementeren.
U kunt de onderstaande stappen volgen met behulp van een Mac-, Windows- of Linux-computer. Vanaf het moment dat de vereiste onderdelen zijn geïnstalleerd, duurt het ongeveer vijf minuten om de stappen uit te voeren.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Vereisten
Dit zijn de vereisten voor het voltooien van deze snelstart:
Het voorbeeld lokaal downloaden
Voer in een terminalvenster de volgende opdrachten uit. Hiermee wordt de voorbeeldtoepassing naar uw lokale computer gekloond en gaat u naar de map met de voorbeeldcode.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Zorg ervoor dat de standaardbranch is
main
.git branch -m main
Tip
De wijziging van de naam van de vertakking is niet vereist voor App Service. Omdat veel opslagplaatsen echter de standaardbranch
main
wijzigen in, ziet u in deze quickstart ook hoe u een opslagplaats implementeert vanuitmain
.
De app lokaal uitvoeren
Voer de toepassing lokaal uit zodat u kunt zien hoe deze eruit ziet wanneer u de toepassing implementeert naar Azure. Open een terminalvenster en gebruik het script
php
om de ingebouwde PHP-webserver te starten.php -S localhost:8080
Open een webbrowser en navigeer naar de voorbeeldapp op
http://localhost:8080
.U ziet het bericht Hallo wereld! van de voorbeeld-app die op de pagina wordt weergegeven.
Druk in uw terminalvenster op Ctrl + C om de webserver af te sluiten.
Azure Cloud Shell
Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.
Om Azure Cloud Shell op te starten:
Optie | Voorbeeld/koppeling |
---|---|
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. | |
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. | |
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. |
Azure Cloud Shell gebruiken:
Start Cloud Shell.
Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.
Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.
Selecteer Enter om de code of opdracht uit te voeren.
Een implementatiegebruiker configureren
FTP en lokale Git kunnen worden geïmplementeerd in een Azure-web-app met behulp van een implementatiegebruikers. Zodra u deze implementatiegebruiker hebt gemaakt, kunt u deze voor al uw Azure-implementaties gebruiken. Uw gebruikersnaam en wachtwoord voor implementatie op accountniveau verschillen van de referenties voor uw Azure-abonnement.
Als u de implementatiegebruiker wilt configureren, voert u de opdracht az webapp deployment user set uit in Azure Cloud Shell. Vervang <de gebruikersnaam> en het wachtwoord> door de gebruikersnaam en <het wachtwoord van een implementatiegebruiker.
- De gebruikersnaam moet uniek zijn binnen Azure en voor lokale Git-pushes en mag het symbool @ niet bevatten.
- Het wachtwoord moet ten minste acht tekens lang zijn en minimaal twee van de volgende drie typen elementen bevatten: letters, cijfers en symbolen.
az webapp deployment user set --user-name <username> --password <password>
De JSON-uitvoer toont het wachtwoord als null
. Als er een 'Conflict'. Details: 409
-fout optreedt, wijzigt u de gebruikersnaam. Als er een 'Bad Request'. Details: 400
-fout optreedt, kiest u een sterker wachtwoord.
Noteer uw gebruikersnaam en wachtwoord om te gebruiken bij het implementeren van uw web-apps.
Een brongroep maken
Een resourcegroep is een logische container waarin Azure-resources, zoals web-apps, databases en opslagaccounts, worden geïmplementeerd en beheerd. U kunt bijvoorbeeld later de hele resourcegroep in één stap verwijderen.
Maak een resourcegroep in Cloud Shell met de opdracht az group create
. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt op de locatie Europa - west. Als u alle ondersteunde locaties voor App Service in de Gratis laag wilt zien, voert u de opdracht az appservice list-locations --sku FREE
uit.
az group create --name myResourceGroup --location "West Europe"
In het algemeen maakt u een resourcegroep en resources in een regio bij u in de buurt.
Wanneer de opdracht is voltooid, laat een JSON-uitvoer u de eigenschappen van de resource-groep zien.
Een Azure App Service-plan maken
Maak in Cloud Shell een App Service-plan met de opdracht az appservice plan create
.
In het volgende voorbeeld wordt een App Service-plan gemaakt met de naam myAppServicePlan
en de prijscategorie Gratis:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
Wanneer het App Service-plan is gemaakt, toont de Azure CLI soortgelijke informatie als in het volgende voorbeeld:
{ "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 }
Een webtoepassing maken
Maak in Cloud Shell een web-app in het App Service-plan van
myAppServicePlan
met de opdrachtaz webapp create
.Vervang in het volgende voorbeeld
<app-name>
door een unieke naam (geldige tekens zijna-z
,0-9
, en-
). De runtime is ingesteld opPHP|7.4
. Voeraz webapp list-runtimes
uit als u alle ondersteunde runtimes wilt zien.az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
Wanneer de web-app is gemaakt, toont de Azure CLI soortgelijke uitvoer als in het volgende voorbeeld:
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. > }
U hebt een nieuwe lege web-app gemaakt, met Git-implementatie ingeschakeld.
Notitie
De URL van de externe Git wordt weergegeven in de eigenschap
deploymentLocalGitUrl
, met de indelinghttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Sla deze URL op, want u hebt deze later nodig.Blader naar uw nieuwe web-app. Vervang <de app-naam> door uw unieke app-naam die u in de vorige stap hebt gemaakt.
http://<app-name>.azurewebsites.net
Hier ziet u hoe uw nieuwe web-app eruit moet zien:
Pushen naar Azure vanaf Git
Omdat u de
main
vertakking implementeert, moet u de standaardimplementatievertakking voor uw App Service-appmain
instellen (zie Implementatievertakking wijzigen). Stel in Cloud Shell deDEPLOYMENT_BRANCH
app-instelling in met deaz webapp config appsettings set
opdracht.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
Voeg, eenmaal terug in het lokale terminalvenster, een externe Azure-instantie toe aan uw lokale Git-opslagplaats. Vervang <deploymentLocalGitUrl-from-create-step> door de URL van de externe Git-app die u hebt opgeslagen vanuit Een web-app maken.
git remote add azure <deploymentLocalGitUrl-from-create-step>
Push naar de externe Azure-instantie om uw app te implementeren met de volgende opdracht. Wanneer Git Credential Manager u om referenties vraagt, moet u ervoor zorgen dat u de referenties invoert die u hebt gemaakt in Lokale Git-implementatie configureren, niet de referenties die u gebruikt om u aan te melden bij Azure Portal.
git push azure main
Het uitvoeren van deze opdracht kan enkele minuten duren. De opdracht geeft informatie weer die lijkt op het volgende voorbeeld:
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 https://<app-name>.scm.azurewebsites.net/<app-name>.git cc39b1e..25f1805 main -> main
Bladeren naar de app
Blader naar de geïmplementeerde toepassing via uw webbrowser.
http://<app-name>.azurewebsites.net
De PHP-voorbeeldcode wordt uitgevoerd in een web-app van Azure App Service.
Gefeliciteerd U hebt uw eerste PHP-app geïmplementeerd in App Service.
De code lokaal bijwerken en opnieuw implementeren
Open met behulp van een lokale teksteditor het bestand
index.php
binnen de PHP-app en breng een kleine wijziging aan in de tekst in de tekenreeks naastecho
:echo "Hello Azure!";
Leg in het lokale terminalvenster uw wijzigingen vast in Git en push de codewijzigingen vervolgens naar Azure.
git commit -am "updated output" git push azure main
Wanneer de implementatie is voltooid, gaat u terug naar het browservenster dat is geopend tijdens de stap Bladeren naar de app en vernieuwt u de pagina.
Uw nieuwe Azure-app beheren
Ga naar Azure Portal om de web-app te beheren die u hebt gemaakt. Zoek en selecteer App Services.
Selecteer de naam van uw Azure-app.
De overzichtspagina van uw web-app wordt weergegeven. Hier kunt u algemene beheertaken uitvoeren, zoals bladeren, stoppen, opnieuw starten en verwijderen.
Het web-app-menu bevat een aantal opties voor het configureren van uw app.
Resources opschonen
In de voorgaande stappen hebt u Azure-resources in een resourcegroep gemaakt. Als u deze resources niet meer nodig denkt te hebben, verwijdert u de resourcegroep door de volgende opdracht in Cloud Shell uit te voeren:
az group delete --name myResourceGroup
Het kan een minuut duren voordat deze opdracht is uitgevoerd.
Azure App Service biedt een uiterst schaalbare webhostingservice met self-patchfunctie. In deze quickstart ziet u hoe u een PHP-app implementeert in Azure-app Service op Linux.
U kunt de onderstaande stappen volgen met behulp van een Mac-, Windows- of Linux-computer. Vanaf het moment dat de vereiste onderdelen zijn geïnstalleerd, duurt het ongeveer vijf minuten om de stappen uit te voeren.
U hebt het volgende nodig om deze snelstartgids te voltooien:
- Een Azure-account met een actief abonnement. Gratis een account maken
- Git
- PHP
- Azure CLI om opdrachten uit te voeren in een shell om Azure-resources te maken en te configureren.
1 - De voorbeeldopslagplaats ophalen
U kunt de web-app maken met behulp van de Azure CLI in Cloud Shell en git gebruiken om voorbeeldcode voor PHP te implementeren in de web-app.
Voer in een terminalvenster de volgende opdrachten uit om de voorbeeldtoepassing te klonen naar uw lokale computer en navigeer naar de hoofdmap van het project.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Als u de toepassing lokaal wilt uitvoeren, gebruikt u de
php
opdracht om de ingebouwde PHP-webserver te starten.php -S localhost:8080
Blader naar de voorbeeldtoepassing in
http://localhost:8080
een webbrowser.Druk in uw terminalvenster op Ctrl + C om de webserver af te sluiten.
2 - Uw toepassingscode implementeren in Azure
Azure CLI heeft een opdracht az webapp up
waarmee de benodigde resources worden gemaakt en uw toepassing in één stap wordt geïmplementeerd.
Implementeer in de terminal de code in uw lokale map met behulp van de az webapp up
opdracht:
az webapp up --runtime "PHP:8.2" --os-type=linux
- Als de
az
opdracht niet wordt herkend, controleert u of Azure CLI is geïnstalleerd. - Het
--runtime "PHP:8.2"
argument maakt de web-app met PHP versie 8.2. - Het
--os-type=linux
argument maakt de web-app op App Service op Linux. - U kunt desgewenst een naam opgeven met het argument
--name <app-name>
. Als u er geen opgeeft, wordt er automatisch een naam gegenereerd. - U kunt eventueel het argument
--location <location-name>
toevoegen, waarbij<location_name>
een beschikbare Azure-regio is. U kunt een lijst met toegestane regio's voor uw Azure-account ophalen door deaz account list-locations
-opdracht uit te voeren. - Als de fout 'Kan de runtimestack van uw app niet automatisch detecteren' wordt weergegeven, controleert u of u de opdracht uitvoert in de codemap (Zie Problemen met automatisch detecteren van az webapp up oplossen).
Het uitvoeren van deze opdracht kan enkele minuten duren. Terwijl deze wordt uitgevoerd, bevat het berichten over het maken van de resourcegroep, het App Service-plan en de app-resource, het configureren van logboekregistratie en het uitvoeren van ZIP-implementatie. Vervolgens krijgt u het volgende bericht: 'U kunt de app starten op http://<app-name>.azurewebsites.net'. Dit is de URL van de app op Azure.
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 dir /home/msangapu/myPhpApp ... 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": "//home//msangapu//myPhpApp" }
Notitie
Met de opdracht az webapp up
worden de volgende acties uitgevoerd:
Er wordt een standaardresourcegroep gemaakt.
Maak een standaard App Service-plan.
Er wordt een app met de opgegeven naam gemaakt.
Zip implementeert alle bestanden uit de huidige werkmap, waarbij buildautomatisering is ingeschakeld.
Sla de parameters lokaal in het .azure/config-bestand op, zodat u ze niet opnieuw hoeft op te geven wanneer u ze later implementeert met
az webapp up
of andereaz webapp
opdrachten uit de projectmap. De waarden in de cache worden standaard automatisch gebruikt.
Blader naar de geïmplementeerde toepassing in uw webbrowser op de URL http://<app-name>.azurewebsites.net
.
De PHP-voorbeeldcode wordt uitgevoerd in een Azure-app Service.
Gefeliciteerd U hebt uw eerste PHP-app geïmplementeerd in App Service met behulp van Azure Portal.
3 - De app bijwerken en opnieuw implementeren
Open met behulp van een lokale teksteditor het bestand
index.php
binnen de PHP-app en breng een kleine wijziging aan in de tekst in de tekenreeks naastecho
:echo "Hello Azure!";
Sla uw wijzigingen op en implementeer de app opnieuw met behulp van de opdracht az webapp up met de volgende argumenten:
az webapp up --runtime "PHP:8.2" --os-type=linux
Zodra de implementatie is voltooid, gaat u terug naar het browservenster dat is geopend tijdens de stap Bladeren naar de app en vernieuwt u de pagina.
4 - Uw nieuwe Azure-app beheren
Ga naar Azure Portal om de web-app te beheren die u hebt gemaakt. Zoek en selecteer App Services.
Selecteer de naam van uw Azure-app.
De overzichtspagina van uw web-app moet worden weergegeven. Hier kunt u algemene beheertaken uitvoeren, zoals bladeren, stoppen, opnieuw starten en verwijderen.
Het web-app-menu bevat een aantal opties voor het configureren van uw app.
5 - Resources opschonen
Wanneer u klaar bent met de voorbeeld-app, kunt u alle resources voor de app verwijderen uit Azure. Het helpt u extra kosten te voorkomen en uw Azure-abonnement overzichtelijk te houden. Als u de resourcegroep verwijdert, worden ook alle resources in de resourcegroep verwijderd en is dit de snelste manier om alle Azure-resources voor uw app te verwijderen.
Verwijder de resourcegroep met behulp van de opdracht az group delete .
az group delete --name myResourceGroup
Het uitvoeren van deze opdracht duurt een minuut.