Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Varning
PHP på Windows nådde slutet av supporten i november 2022. PHP stöds endast för App Service i Linux. Den här artikeln är endast till för referens.
Med Azure App Service får du ett självuppdaterande webbhotell med hög skalbarhet. Den här snabbstartsguiden visar hur du distribuerar en PHP-app till Azure App Service i Windows.
Du skapar webbappen med Azure CLI i Cloud Shell och använder Git för att distribuera PHP-exempelkoden till webbappen.
Du kan följa stegen här på en Mac-, Windows- eller Linux-dator. När förutsättningarna har installerats tar det cirka fem minuter att slutföra stegen.
Om du inte har något Azure-konto skapar du ett kostnadsfritt konto innan du börjar.
Förutsättningar
För att slutföra den här snabbstarten behöver du:
Ladda ned exemplet lokalt
Kör följande kommandon i ett terminalfönster. Den klonar exempelprogrammet till den lokala datorn och navigerar till katalogen som innehåller exempelkoden.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Kontrollera att standardgrenen är
main
.git branch -m main
Tips
Ändringen av grennamnet krävs inte av App Service. Men eftersom många lagringsplatser ändrar sin standardgren till
main
visar den här snabbstarten också hur du distribuerar en lagringsplats frånmain
.
Köra appen lokalt
Kör programmet lokalt så att du ser hur det ska se ut när du distribuerar det till Azure. Öppna ett terminalfönster och använd kommandot
php
för att starta den inbyggda PHP-webbservern.php -S localhost:8080
Öppna webbläsaren och navigera till exempelappen på
http://localhost:8080
.Du ser Hello World! -meddelandet från exempelappen som visas på sidan.
Tryck på Ctrl+C i terminalfönstret för att avsluta webbservern.
Azure Cloud Shell
Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.
Så här startar du Azure Cloud Shell:
Alternativ | Exempel/länk |
---|---|
Välj Prova på i övre högra hörnet av ett kod- eller kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. |
![]() |
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. |
![]() |
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. |
![]() |
Så här använder du Azure Cloud Shell:
Starta Cloud Shell.
Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.
Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.
Välj Retur för att köra koden eller kommandot.
Konfigurera en distributionsanvändare
FTP och lokal Git kan distribueras till en Azure-webbapp med hjälp av en distributionsanvändare. När du har konfigurerat distributionsanvändaren kan du använda den för alla dina Azure-distributioner. Ditt användarnamn och lösenord för distribution på kontonivå skiljer sig från dina autentiseringsuppgifter för Azure-prenumerationen.
Om du vill konfigurera distributionsanvändaren kör du kommandot az webapp deployment user set i Azure Cloud Shell. Ersätt <användarnamn> och <lösenord> med ett användarnamn och lösenord för distributionsanvändaren.
- Användarnamnet måste vara unikt i Azure, och för lokala Git-push-meddelanden får det inte innehålla @-symbolen.
- Lösenordet måste vara minst åtta tecken långt, med två av följande tre element: bokstäver, siffror och symboler.
az webapp deployment user set --user-name <username> --password <password>
JSON-utdata visar lösenordet som null
. Om du ser felet 'Conflict'. Details: 409
ska du byta användarnamn. Om du ser felet 'Bad Request'. Details: 400
ska du använda ett starkare lösenord.
Registrera ditt användarnamn och lösenord som ska användas för att distribuera dina webbappar.
Skapa en resursgrupp
En resursgrupp är en logisk container där Azure-resurser, till exempel webbappar, databaser och lagringskonton, distribueras och hanteras. Du kan exempelvis välja att ta bort hela resursgruppen i ett enkelt steg längre fram.
Skapa i Cloud Shell en resursgrupp med kommandot az group create
. I följande exempel skapas en resursgrupp med namnet myResourceGroup på platsen Europa, västra. Om du vill se alla platser som stöds för App Service på Kostnadsfri nivå, kör du kommandot az appservice list-locations --sku FREE
.
az group create --name myResourceGroup --location "West Europe"
Du skapar vanligtvis din resursgrupp och resurserna i en region nära dig.
När kommandot har slutförts visar JSON-utdata resursgruppens egenskaper.
Skapa en Azure App Service-plan
Skapa i Cloud Shell en App Service-plan med kommandot az appservice plan create
.
I följande exempel skapas en App Service-plan med namnet myAppServicePlan
på prisnivån Kostnadsfri:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
När App Service-planen har skapats visas information av Azure CLI. Informationen ser ut ungefär som i följande exempel:
{ "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 }
Skapa en webbapp
Skapa i Cloud Shell en webbapp i
myAppServicePlan
App Service-planen med kommandotaz webapp create
.Ersätt
<app-name>
med ett globalt unikt appnamn (giltiga tecken ära-z
,0-9
och-
) i följande exempel. Körtiden har angetts tillPHP|7.4
. För att se alla stödda körmiljöer, köraz webapp list-runtimes
.az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
När webbappen har skapats visar Azure CLI utdata liknande den i följande exempel:
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. > }
Du har skapat en tom ny webbapp med git-distribution aktiverad.
Anmärkning
URL:en för Git-fjärrförbindelsen visas i egenskapsfältet
deploymentLocalGitUrl
. Spara den här URL:en, eftersom du behöver den senare.Gå till din nyligen skapade webbapp.
Så här bör din nya webbapp se ut:
Skicka till Azure från Git
Eftersom du distribuerar grenen
main
måste du ange standarddistributionsgrenen för App Service-appen tillmain
(se Ändra distributionsgren). I Cloud Shell anger du appinställningenDEPLOYMENT_BRANCH
az webapp config appsettings set
med kommandot .az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
I det lokala terminalfönstret kan du lägga till en Azure-fjärrdatabas till din lokala Git-databas. Ersätt <deploymentLocalGitUrl-from-create-step> med URL:en för git-fjärren som du sparade från Skapa en webbapp.
git remote add azure <deploymentLocalGitUrl-from-create-step>
Skicka till Azure-fjärrdatabasen för att distribuera appen med följande kommando. När Git Credential Manager frågar efter autentiseringsuppgifter kontrollerar du att du anger de autentiseringsuppgifter som du skapade i Konfigurera lokal git-distribution, inte de autentiseringsuppgifter som du använder för att logga in på Azure Portal.
git push azure main
Det kan ta några minuter att köra det här kommandot. Medan det körs visas information liknande den i följande exempel:
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
Bläddra till appen
Bläddra till den distribuerade appen via webbläsaren.
PHP-exempelkoden körs i en Azure App Service-webbapp.
Grattis! Du har distribuerat din första PHP-app till App Service.
Uppdatera lokalt och distribuera om koden
Öppna filen
index.php
i PHP-appen med ett lokalt textredigeringsprogram och gör små ändringar i texten i strängen bredvidecho
:echo "Hello Azure!";
I det lokala terminalfönstret sparar du ändringarna i Git och skickar sedan kodändringarna till Azure.
git commit -am "updated output" git push azure main
När distributionen är klar går du tillbaka till webbläsarfönstret som öppnades när du skulle söka efter appen och klickar på knappen för att uppdatera sidan.
Hantera din nya Azure-app
Gå till Azure Portal för att hantera den webbapp som du skapade. Sök efter och välj App Services.
Välj namnet på din Azure-app.
Webbappens översiktssida visas. Här kan du utföra grundläggande hanteringsuppgifter som Bläddra, Stoppa, Starta om och Ta bort.
Webbappmenyn innehåller olika alternativ för att konfigurera din app.
Rensa resurser
I de föregående stegen skapade du Azure-resurser i en resursgrupp. Om du inte tror att du behöver dessa resurser i framtiden tar du bort resursgruppen genom att köra följande kommando i Cloud Shell:
az group delete --name myResourceGroup
Det kan ta en minut att köra kommandot.
Azure App Service tillhandahåller en mycket skalbar, självuppdaterande tjänst för webbhotell. Den här snabbstarten visar hur du distribuerar en PHP-app till Azure App Service på Linux.
Du kan följa stegen här på en Mac-, Windows- eller Linux-dator. När förutsättningarna har installerats tar det cirka tio minuter att slutföra stegen.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa ett konto utan kostnad.
- Git
- PHP
- Azure CLI för att köra kommandon i valfritt gränssnitt för att skapa och konfigurera Azure-resurser.
Ladda ned exempellagringsplatsen
I följande steg skapar du webbappen med hjälp av Azure CLI och sedan distribuerar du PHP-exempelkod till webbappen.
Du kan använda Azure Cloud Shell.
I ett terminalfönster kör du följande kommandon för att klona exempelprogrammet till den lokala datorn och navigera till projektroten.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Om du vill köra programmet lokalt använder du
php
kommandot för att starta den inbyggda PHP-webbservern.php -S localhost:8080
Öppna exempelapplikationen i en webbläsare på
http://localhost:8080
.Tryck på Ctrl+C i terminalfönstret för att avsluta webbservern.
Distribuera programkoden till Azure
Azure CLI har ett kommando az webapp up
som skapar nödvändiga resurser och distribuerar ditt program i ett enda steg.
Distribuera koden i den lokala mappen i terminalen med kommandot az webapp up
:
az webapp up --runtime "PHP:8.2" --os-type=linux
-
az
Om kommandot inte känns igen måste du ha Azure CLI installerat. - Argumentet
--runtime "PHP:8.2"
skapar webbappen med PHP version 8.2. - Argumentet
--os-type=linux
skapar webbappen på App Service på Linux. - Du kan också ange ett namn med argumentet
--name <app-name>
. Om du inte anger något genereras ett namn automatiskt. - Du kan också inkludera argumentet
--location <location-name>
där<location_name>
är en tillgänglig Azure-region. Du kan hämta en lista över tillåtna regioner för ditt Azure-konto genom attaz account list-locations
köra kommandot . - Om du ser felet Det gick inte att automatiskt identifiera körningsstacken för din app kontrollerar du att du kör kommandot i kodkatalogen. Mer information finns i Felsöka problem med automatisk identifiering med az webapp up.
Det kan ta några minuter att köra kommandot. När den körs visas meddelanden om hur du skapar resursgruppen, App Service-planen och appresursen, konfigurerar loggning och utför ZIP-distribution. Den tillhandahåller sedan appens URL i 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 <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>"
}
Anmärkning
Kommandot az webapp up
utför följande åtgärder:
Skapa en standardplan för App Service.
Skapa en app med det angivna namnet.
Distribuera med Zip alla filer från den aktuella arbetskatalogen, med byggautomatisering aktiverad.
Cachelagra parametrarna lokalt i .azure/config-filen så att du inte behöver ange dem igen när du distribuerar dem senare med
az webapp up
eller andraaz webapp
kommandon från projektmappen. De cachelagrade värdena används automatiskt som standard.
Bläddra till det distribuerade programmet i webbläsaren på den URL som finns i terminalen.
PHP-exempelkoden körs i en Azure App Service.
Grattis! Du distribuerade din första PHP-app till App Service med hjälp av Azure Portal.
Uppdatera och distribuera om appen
Leta reda på katalogen php-docs-hello-world och öppna index.php-filen med en lokal textredigerare. Gör en liten ändring i texten i strängen bredvid
echo
:echo "Hello Azure!";
Spara ändringarna och distribuera sedan om appen med kommandot az webapp up igen med följande argument:
az webapp up --runtime "PHP:8.2" --os-type=linux
När distributionen är klar går du tillbaka till webbläsarfönstret som öppnades under steget Bläddra till appen och uppdaterar sidan.
Hantera din nya Azure-app
Gå till Azure Portal för att hantera den webbapp som du skapade. Sök efter och välj App Services.
Välj din Azure-app för att öppna den.
Webbappens översiktssida bör visas. Här kan du utföra grundläggande hanteringsuppgifter som Bläddra, Stoppa, Starta om och Ta bort.
Webbappmenyn innehåller olika alternativ för att konfigurera din app.
Rensa resurser
När du är klar med exempelappen kan du ta bort alla resurser för appen från Azure så att du kan undvika extra avgifter och hålla din Azure-prenumeration ren. Om du tar bort resursgruppen tas även alla resurser i resursgruppen bort och är det snabbaste sättet att ta bort alla Azure-resurser för din app.
Ta bort resursgruppen med kommandot az group delete .
az group delete --name myResourceGroup
Det tar en minut att köra det här kommandot.