Tworzenie aplikacji sieci Web w języku PHP w Azure App ServiceCreate a PHP web app in Azure App Service

Azure App Service zapewnia wysoce skalowalną, samoobsługową usługę hostingu w sieci Web.Azure App Service provides a highly scalable, self-patching web hosting service. Ten samouczek szybki start przedstawia sposób wdrażania aplikacji PHP do Azure App Service w systemie Windows.This quickstart tutorial shows how to deploy a PHP app to Azure App Service on Windows.

Azure App Service zapewnia wysoce skalowalną, samoobsługową usługę hostingu w sieci Web.Azure App Service provides a highly scalable, self-patching web hosting service. Ten samouczek Szybki start przedstawia sposób wdrażania aplikacji PHP w usłudze Azure App Service w systemie Linux.This quickstart tutorial shows how to deploy a PHP app to Azure App Service on Linux.

Aplikacja internetowa zostanie utworzona przy użyciu interfejsu wiersza polecenia platformy Azure w usłudze Cloud Shell, a przykład kodu w języku PHP zostanie wdrożony w aplikacji internetowej za pomocą usługi Git.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.

Przykładowa aplikacja działająca na platformie Azure

Poniższe kroki możesz wykonać przy użyciu komputera z systemem Mac, Windows lub Linux.You can follow the steps here using a Mac, Windows, or Linux machine. Po zainstalowaniu wymagań wstępnych wykonanie czynności trwa około pięciu minut.Once the prerequisites are installed, it takes about five minutes to complete the steps.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem Utwórz bezpłatne konto .If you don't have an Azure subscription, create a free account before you begin.

Wymagania wstępnePrerequisites

Aby ukończyć ten przewodnik Szybki start:To complete this quickstart:

Pobieranie przykładu na maszynę lokalnąDownload the sample locally

W oknie terminalu uruchom następujące polecenia.In a terminal window, run the following commands. Spowoduje to sklonowanie aplikacji przykładowej na maszynę lokalną, a następnie przejście do katalogu zawierającego przykład kodu.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

Lokalne uruchamianie aplikacjiRun the app locally

Uruchom aplikację lokalnie, aby zobaczyć, jak powinna ona wyglądać, gdy wdrożysz ją na platformie Azure.Run the application locally so that you see how it should look when you deploy it to Azure. Otwórz okno terminala i użyj polecenia php w celu uruchomienia wbudowanego serwera internetowego środowiska PHP.Open a terminal window and use the php command to launch the built-in PHP web server.

php -S localhost:8080

Otwórz przeglądarkę internetową i przejdź do przykładowej aplikacji pod adresem http://localhost:8080.Open a web browser, and navigate to the sample app at http://localhost:8080.

Na stronie zostanie wyświetlony komunikat Hello World!You see the Hello World! z przykładowej aplikacji.message from the sample app displayed in the page.

Przykładowa aplikacja działająca w środowisku lokalnym

W oknie terminalu naciśnij kombinację klawiszy Ctrl + C, aby zamknąć serwer sieci Web.In your terminal window, press Ctrl+C to exit the web server.

Używanie usługi Azure Cloud ShellUse Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Aby uruchomić kod z tego artykułu bez konieczności instalowania narzędzi w środowisku lokalnym, można użyć wstępnie zainstalowanych poleceń środowiska Cloud Shell.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Aby uruchomić środowisko Azure Cloud Shell:To start Azure Cloud Shell:

OpcjaOption Przykład/linkExample/Link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu.Select Try It in the upper-right corner of a code block. Wybranie pozycji Wypróbuj nie spowoduje automatycznego skopiowania kodu do środowiska Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Przykład funkcji Wypróbuj w środowisku Azure Cloud Shell
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Uruchamianie środowiska Cloud Shell w nowym oknieLaunch Cloud Shell in a new window
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Przycisk Cloud Shell w witrynie Azure Portal

Aby uruchomić kod z tego artykułu w środowisku Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.Start Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu, aby skopiować kod.Select the Copy button on a code block to copy the code.

  3. Wklej kod w sesji Cloud Shell, naciskając klawisze Ctrl+Shift+V w systemach Windows i Linux lub klawisze Cmd+Shift+V w systemie macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Naciśnij klawisz Enter, aby uruchomić kod.Select Enter to run the code.

Konfigurowanie użytkownika wdrożeniaConfigure a deployment user

Usługa FTP i lokalne narzędzia Git można wdrożyć w aplikacji sieci Web platformy Azure przy użyciu użytkownika wdrożenia.FTP and local Git can deploy to an Azure web app by using a deployment user. Po skonfigurowaniu użytkownika wdrożenia można go użyć do wszystkich wdrożeń platformy Azure.Once you configure your deployment user, you can use it for all your Azure deployments. Nazwa użytkownika i hasło wdrożenia na poziomie konta różnią się od poświadczeń subskrypcji platformy Azure.Your account-level deployment username and password are different from your Azure subscription credentials.

Aby skonfigurować użytkownika wdrożenia, uruchom polecenie AZ webapp Deployment User Set w Azure Cloud Shell.To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Zastąp <username> i nazwą <password> użytkownika i hasłem dla wdrożenia.Replace <username> and <password> with a deployment user username and password.

  • Nazwa użytkownika musi być unikatowa w ramach platformy Azure, a dla lokalnego wypychania Git nie może zawierać @ symbolu "".The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Hasło musi składać się z co najmniej ośmiu znaków, a dwa z następujących trzech elementów: litery, cyfry i 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>

Dane wyjściowe JSON przedstawiają hasło jako null .The JSON output shows the password as null. Jeśli wystąpił błąd 'Conflict'. Details: 409, zmień nazwę użytkownika.If you get a 'Conflict'. Details: 409 error, change the username. Jeśli wystąpił błąd 'Bad Request'. Details: 400, użyj silniejszego hasła.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Zapisz nazwę użytkownika i hasło, aby użyć do wdrożenia aplikacji sieci Web.Record your username and password to use to deploy your web apps.

Tworzenie grupy zasobówCreate a resource group

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak aplikacje sieci Web, bazy danych i konta magazynu.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.For example, you can choose to delete the entire resource group in one simple step later.

W Cloud Shell Utwórz grupę zasobów za pomocą az group create polecenia.In the Cloud Shell, create a resource group with the az group create command. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji West Europe (Europa Zachodnia).The following example creates a resource group named myResourceGroup in the West Europe location. Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w warstwie Bezpłatna, uruchom polecenie az appservice list-locations --sku FREE.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"

Zasadniczo grupy zasobów i zasoby są tworzone w pobliskim regionie.You generally create your resource group and the resources in a region near you.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.When the command finishes, a JSON output shows you the resource group properties.

Tworzenie grupy zasobówCreate a resource group

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak aplikacje sieci Web, bazy danych i konta magazynu.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Na przykład można później usunąć całą grupę zasobów w jednym prostym kroku.For example, you can choose to delete the entire resource group in one simple step later.

W Cloud Shell Utwórz grupę zasobów za pomocą az group create polecenia.In the Cloud Shell, create a resource group with the az group create command. Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie myResourceGroup w lokalizacji West Europe (Europa Zachodnia).The following example creates a resource group named myResourceGroup in the West Europe location. Aby wyświetlić wszystkie obsługiwane lokalizacje dla usługi App Service w systemie Linux w warstwie Podstawowa, uruchom polecenie az appservice list-locations --sku B1 --linux-workers-enabled.To see all supported locations for App Service on Linux in Basic tier, run the az appservice list-locations --sku B1 --linux-workers-enabled command.

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

Zasadniczo grupy zasobów i zasoby są tworzone w pobliskim regionie.You generally create your resource group and the resources in a region near you.

Po zakończeniu działania polecenia zostaną wyświetlone dane wyjściowe JSON z właściwościami grupy zasobów.When the command finishes, a JSON output shows you the resource group properties.

Tworzenie planu usługi Azure App ServiceCreate an Azure App Service plan

W Cloud Shell utwórz plan App Service za pomocą az appservice plan create polecenia .In the Cloud Shell, create an App Service plan with the az appservice plan create command.

W poniższym przykładzie jest tworzony plan usługi App Service o nazwie myAppServicePlan przy użyciu warstwy cenowej Bezpłatna: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

Po utworzeniu planu usługi App Service interfejs wiersza polecenia platformy Azure wyświetli informacje podobne do następujących: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
} 

Tworzenie aplikacji internetowejCreate a web app

W Cloud Shell Utwórz aplikację sieci Web w myAppServicePlan planie App Service za pomocą az webapp create polecenia.In the Cloud Shell, create a web app in the myAppServicePlan App Service plan with the az webapp create command.

W poniższym przykładzie zastąp ciąg <app-name> globalnie unikatową nazwą aplikacji (prawidłowe znaki to a-z, 0-9 i -).In the following example, replace <app-name> with a globally unique app name (valid characters are a-z, 0-9, and -). Środowisko uruchomieniowe ma ustawioną wartość PHP|7.4.The runtime is set to PHP|7.4. Aby wyświetlić wszystkie obsługiwane środowiska uruchomieniowe, uruchom polecenie az webapp list-runtimes .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.4" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime "PHP|7.4" --deployment-local-git

Uwaga

Symbol zatrzymania analizowania (--%) wprowadzony w programie powershell 3,0, nakazuje programowi PowerShell nieprzerwanie interpretacji danych wejściowych jako poleceń lub wyrażeń programu PowerShell.The stop-parsing symbol (--%), introduced in PowerShell 3.0, directs PowerShell to refrain from interpreting input as PowerShell commands or expressions.

Po utworzeniu aplikacji internetowej w interfejsie wiersza polecenia platformy Azure zostaną wyświetlone dane wyjściowe podobne do następujących: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. >
}

Utworzono pustą nową aplikację sieci Web z włączonym wdrożeniem usługi git.You've created an empty new web app, with git deployment enabled.

Uwaga

Adres URL zdalnego repozytorium Git jest wyświetlany we właściwości deploymentLocalGitUrl w formacie https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git.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. Zapisz ten adres URL, ponieważ będzie on potrzebny później.Save this URL as you need it later.

Przejdź do nowo utworzonej aplikacji internetowej.Browse to your newly created web app. Zastąp < ciąg App-Name> unikatową nazwą aplikacji utworzoną w poprzednim kroku.Replace <app-name> with your unique app name created in the prior step.

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

Tak powinna wyglądać nowa aplikacja internetowa:Here is what your new web app should look like:

Pusta strona aplikacji internetowej

Wypychanie z narzędzia Git na platformę AzurePush to Azure from Git

W lokalnym oknie terminala dodaj zdalną platformę Azure do lokalnego repozytorium Git.Back in the local terminal window, add an Azure remote to your local Git repository. Zamień na <deploymentLocalGitUrl-from-create-step> adres URL zdalnego narzędzia Git, który został zapisany w obszarze Tworzenie aplikacji sieci Web.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>

Wypchnij na zdalną platformę Azure w celu wdrożenia aplikacji za pomocą następującego polecenia.Push to the Azure remote to deploy your app with the following command. Gdy program git Credential Manager poprosi o podanie poświadczeń, upewnij się, że wprowadzono poświadczenia utworzone w obszarze Konfigurowanie użytkownika wdrożenia, a nie poświadczenia, których używasz do logowania się do Azure Portal.When Git Credential Manager prompts you for credentials, make sure 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

Wykonanie tego polecenia może potrwać kilka minut.This command may take a few minutes to run. Podczas wykonywania polecenie wyświetli informacje podobne do następującego przykładu: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 '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

Przechodzenie do aplikacjiBrowse to the app

Przejdź do wdrożonej aplikacji za pomocą przeglądarki sieci Web.Browse to the deployed application using your web browser.

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

Przykładowy kod w języku PHP jest uruchamiany w aplikacji internetowej usługi Azure App Service.The PHP sample code is running in an Azure App Service web app.

Przykładowa aplikacja działająca na platformie Azure

Gratulacje!Congratulations! Udało Ci się wdrożyć pierwszą własną aplikację w języku PHP w usłudze App Service.You've deployed your first PHP app to App Service.

Lokalne aktualizowanie i ponowne wdrażanie koduUpdate locally and redeploy the code

Za pomocą lokalnego edytora tekstów otwórz plik index.php w aplikacji w języku PHP i wprowadź niewielką zmianę w tekście ciągu obok polecenia echo: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!";

W oknie lokalnego terminala zatwierdź zmiany w usłudze Git, a następnie wypchnij zmiany kodu na platformę 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 main

Po zakończeniu wdrożenia wróć do okna przeglądarki otwartego w kroku przechodzenia do aplikacji, a następnie odśwież stronę.Once deployment has completed, return to the browser window that opened during the Browse to the app step, and refresh the page.

Zaktualizowana przykładowa aplikacja działająca na platformie Azure

Zarządzanie nową aplikacją platformy AzureManage your new Azure app

  1. Przejdź do witryny Azure Portal, aby zarządzać utworzoną aplikacją internetową.Go to the Azure portal to manage the web app you created. Wyszukaj i wybierz App Services.Search for and select App Services.

    Wyszukiwanie App Services, Azure Portal, tworzenie aplikacji sieci Web w języku PHP

  2. Wybierz nazwę aplikacji platformy Azure.Select the name of your Azure app.

    Nawigacja w portalu do aplikacji platformy Azure

    Zostanie wyświetlona strona przeglądu aplikacji sieci Web.Your web app's Overview page will be displayed. W tym miejscu można wykonywać podstawowe zadania zarządzania, takie jak przeglądanie, Zatrzymywanie, Ponowne uruchamianie i usuwanie.Here, you can perform basic management tasks like Browse, Stop, Restart, and Delete.

    Strona usługi App Service w witrynie Azure Portal

    Menu aplikacji sieci Web zawiera różne opcje konfigurowania aplikacji.The web app menu provides different options for configuring your app.

Czyszczenie zasobówClean up resources

W poprzednich krokach utworzono zasoby platformy Azure w grupie zasobów.In the preceding steps, you created Azure resources in a resource group. Jeśli te zasoby nie będą raczej potrzebne w przyszłości, usuń grupę zasobów, uruchamiając następujące polecenie w usłudze Cloud Shell: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

Wykonanie tego polecenia może potrwać około minutę.This command may take a minute to run.

Następne krokiNext steps