Créer une application web PHP dans Azure App ServiceCreate a PHP web app in Azure App Service

Azure App Service offre un service d’hébergement web hautement évolutif appliquant des mises à jour correctives automatiques.Azure App Service provides a highly scalable, self-patching web hosting service. Ce démarrage rapide montre comment déployer une application PHP sur Azure App Service sous Windows.This quickstart tutorial shows how to deploy a PHP app to Azure App Service on Windows.

Azure App Service offre un service d’hébergement web hautement évolutif appliquant des mises à jour correctives automatiques.Azure App Service provides a highly scalable, self-patching web hosting service. Ce guide de démarrage rapide vous indique comment déployer une application PHP sur Azure App Service sur Linux.This quickstart tutorial shows how to deploy a PHP app to Azure App Service on Linux.

Vous créez l’application web dans Cloud Shell grâce à l’interface Azure CLI, et vous utilisez Git pour déployer l’exemple de code PHP dans l’application web.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.

Exemple d’application s’exécutant dans Azure

Vous pouvez suivre ces étapes en utilisant un ordinateur Mac, Windows ou Linux.You can follow the steps here using a Mac, Windows, or Linux machine. Une fois les composants requis installés, l’exécution de cette procédure prend environ cinq minutes.Once the prerequisites are installed, it takes about five minutes to complete the steps.

Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.If you don't have an Azure subscription, create a free account before you begin.

PrérequisPrerequisites

Pour suivre ce guide de démarrage rapide :To complete this quickstart:

Téléchargez l’exemple localementDownload the sample locally

Exécutez les commandes suivantes dans une fenêtre de terminal.In a terminal window, run the following commands. Cette action va cloner l’exemple d’application sur votre ordinateur local et vous faire accéder au répertoire contenant l’exemple de code.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

Exécutez l’application localement.Run the app locally

Exécutez l’application localement pour voir à quoi elle devrait ressembler lorsque vous la déploierez sur Azure.Run the application locally so that you see how it should look when you deploy it to Azure. Ouvrez une fenêtre de terminal et utilisez la commande php pour lancer le serveur web PHP intégré.Open a terminal window and use the php command to launch the built-in PHP web server.

php -S localhost:8080

Ouvrez un navigateur web et accédez à l’application exemple à l’adresse http://localhost:8080.Open a web browser, and navigate to the sample app at http://localhost:8080.

Vous voyez apparaître sur la page le message Hello World !You see the Hello World! de l’exemple d’application.message from the sample app displayed in the page.

Exemple d’application s’exécutant localement

Dans la fenêtre de terminal, appuyez sur Ctrl + C pour quitter le serveur web.In your terminal window, press Ctrl+C to exit the web server.

Utiliser Azure Cloud ShellUse Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Pour démarrer Azure Cloud Shell :To start Azure Cloud Shell:

OptionOption Exemple/LienExample/Link
Sélectionnez Essayer dans le coin supérieur droit d’un bloc de code.Select Try It in the upper-right corner of a code block. La sélection de Essayer ne copie pas automatiquement le code dans Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Exemple Essayer pour Azure Cloud Shell
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Lancer Cloud Shell dans une nouvelle fenêtreLaunch Cloud Shell in a new window
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Bouton Cloud Shell du portail Azure

Pour exécuter le code de cet article dans Azure Cloud Shell :To run the code in this article in Azure Cloud Shell:

  1. Démarrez Cloud Shell.Start Cloud Shell.

  2. Sélectionnez le bouton Copier dans un bloc de code pour copier le code.Select the Copy button on a code block to copy the code.

  3. Collez le code dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux, ou en sélectionnant Cmd+Maj+V sur 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. Sélectionnez Entrée pour exécuter le code.Select Enter to run the code.

Configuration d’un utilisateur de déploiementConfigure a deployment user

Vous pouvez déployer le protocole FTP et Git local sur une application web Azure en faisant appel à un utilisateur de déploiement.FTP and local Git can deploy to an Azure web app by using a deployment user. Une fois que vous avez créé votre utilisateur de déploiement, vous pouvez l’utiliser pour tous vos déploiements Azure.Once you configure your deployment user, you can use it for all your Azure deployments. Votre nom d’utilisateur et votre mot de passe de déploiement au niveau du compte sont différents de vos informations d’identification de l’abonnement Azure.Your account-level deployment username and password are different from your Azure subscription credentials.

Pour configurer l’utilisateur de déploiement, exécutez la commande az webapp deployment user set dans Azure Cloud Shell.To configure the deployment user, run the az webapp deployment user set command in Azure Cloud Shell. Remplacez <username> et <password> par un nom d’utilisateur et un mot de passe de déploiement.Replace <username> and <password> with a deployment user username and password.

  • Le nom d’utilisateur doit être unique dans Azure et, pour les push Git locaux, ne doit pas contenir le symbole « @ ».The username must be unique within Azure, and for local Git pushes, must not contain the ‘@’ symbol.
  • Le mot de passe doit comporter au moins huit caractères et inclure deux des trois éléments suivants : lettres, chiffres et symboles.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>

La sortie JSON affiche le mot de passe comme étant null.The JSON output shows the password as null. Si vous obtenez une erreur 'Conflict'. Details: 409, modifiez le nom d’utilisateur.If you get a 'Conflict'. Details: 409 error, change the username. Si vous obtenez une erreur 'Bad Request'. Details: 400, utilisez un mot de passe plus fort.If you get a 'Bad Request'. Details: 400 error, use a stronger password.

Enregistrez le nom d’utilisateur et le mot de passe à utiliser pour déployer vos applications web.Record your username and password to use to deploy your web apps.

Créer un groupe de ressourcesCreate a resource group

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure, comme les applications web, les bases de données et les comptes de stockage, sont déployées et managées.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Par exemple, vous pouvez choisir de supprimer le groupe de ressources complet ultérieurement en une seule étape.For example, you can choose to delete the entire resource group in one simple step later.

Dans Cloud Shell, créez un groupe de ressources avec la commande az group create.In the Cloud Shell, create a resource group with the az group create command. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement Europe Ouest.The following example creates a resource group named myResourceGroup in the West Europe location. Pour afficher tous les emplacements pris en charge pour App Service au niveau Gratuit, exécutez la commande 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"

Vous créez généralement votre groupe de ressources et les ressources dans une région proche de chez vous.You generally create your resource group and the resources in a region near you.

Une fois la commande terminée, une sortie JSON affiche les propriétés du groupe de ressources.When the command finishes, a JSON output shows you the resource group properties.

Créer un groupe de ressourcesCreate a resource group

Un groupe de ressources est un conteneur logique dans lequel les ressources Azure, comme les applications web, les bases de données et les comptes de stockage, sont déployées et managées.A resource group is a logical container into which Azure resources, such as web apps, databases, and storage accounts, are deployed and managed. Par exemple, vous pouvez choisir de supprimer le groupe de ressources complet ultérieurement en une seule étape.For example, you can choose to delete the entire resource group in one simple step later.

Dans Cloud Shell, créez un groupe de ressources avec la commande az group create.In the Cloud Shell, create a resource group with the az group create command. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement Europe Ouest.The following example creates a resource group named myResourceGroup in the West Europe location. Pour afficher tous les emplacements pris en charge pour App Service sous Linux au niveau De base, exécutez la commande 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"

Vous créez généralement votre groupe de ressources et les ressources dans une région proche de chez vous.You generally create your resource group and the resources in a region near you.

Une fois la commande terminée, une sortie JSON affiche les propriétés du groupe de ressources.When the command finishes, a JSON output shows you the resource group properties.

Créer un plan Azure App ServiceCreate an Azure App Service plan

Dans Cloud Shell, créez un plan App Service avec la commande az appservice plan create.In the Cloud Shell, create an App Service plan with the az appservice plan create command.

L’exemple suivant crée un plan App Service nommé myAppServicePlan dans le niveau tarifaire Gratuit :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

Lorsque le plan App Service est créé, l’interface Azure CLI affiche des informations similaires à l’exemple suivant :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
} 

Créer une application webCreate a web app

Dans Cloud Shell, créez une application web dans le plan App Service myAppServicePlan avec la commande az webapp create.In the Cloud Shell, create a web app in the myAppServicePlan App Service plan with the az webapp create command.

Dans l’exemple suivant, remplacez <app-name> par un nom d’application unique (les caractères autorisés sont a-z, 0-9 et -).In the following example, replace <app-name> with a globally unique app name (valid characters are a-z, 0-9, and -). Le runtime est défini sur PHP|7.4.The runtime is set to PHP|7.4. Pour voir tous les runtimes, exécutez 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

Notes

Le symbole d’arrêt de l’analyse (--%), introduit dans PowerShell 3.0, indique à PowerShell de s’abstenir d’interpréter l’entrée comme des commandes ou des expressions PowerShell.The stop-parsing symbol (--%), introduced in PowerShell 3.0, directs PowerShell to refrain from interpreting input as PowerShell commands or expressions.

Une fois l’application web créée, Azure CLI affiche une sortie similaire à l’exemple suivant :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. >
}

Vous avez créé une application web vide, avec le déploiement Git activé.You've created an empty new web app, with git deployment enabled.

Notes

L’URL du Git distant est indiquée dans la propriété deploymentLocalGitUrl, avec le format 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. Enregistrez cette URL, car vous en aurez besoin ultérieurement.Save this URL as you need it later.

Accédez à votre nouvelle application web.Browse to your newly created web app. Remplacez <app-name> par votre nom d’application unique créé à l’étape précédente.Replace <app-name> with your unique app name created in the prior step.

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

Voici à quoi doit ressembler votre nouvelle application web :Here is what your new web app should look like:

Page d’application web vide

Effectuer une transmission de type push vers Azure à partir de GitPush to Azure from Git

De retour dans la fenêtre de terminal locale, ajoutez un dépôt distant Azure dans votre dépôt Git local.Back in the local terminal window, add an Azure remote to your local Git repository. Remplacez <deploymentLocalGitUrl-from-create-step> par l’URL du dépôt Git distant que vous avez enregistrée à partir de Créer une application 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>

Effectuez une transmission de type push vers le référentiel distant Azure pour déployer votre application à l’aide de la commande suivante.Push to the Azure remote to deploy your app with the following command. Quand Git Credential Manager vous invite à entrer vos informations d’identification, veillez à entrer celles que vous avez créées dans la section Configurer un utilisateur de déploiement, et non pas celles vous permettant de vous connecter au portail Azure.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

L’exécution de cette commande peut prendre quelques minutes.This command may take a few minutes to run. Pendant son exécution, des informations semblables à ce qui suit s’affichent :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

Accéder à l’applicationBrowse to the app

Accédez à l’application déployée à l’aide de votre navigateur web.Browse to the deployed application using your web browser.

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

L’exemple de code PHP s’exécute dans une application web Azure App Service.The PHP sample code is running in an Azure App Service web app.

Exemple d’application s’exécutant dans Azure

Félicitations !Congratulations! Vous avez déployé votre première application en PHP dans App Service.You've deployed your first PHP app to App Service.

Mettre à jour localement et redéployer le codeUpdate locally and redeploy the code

À l’aide d’un éditeur de texte local, ouvrez le fichier index.php dans l’application PHP et modifiez une petite partie du texte contenu dans la chaîne en regard de l’élément 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!";

Dans la fenêtre du terminal local, validez vos modifications dans Git, puis envoyez les modifications de code à 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

Une fois le déploiement terminé, revenez à la fenêtre du navigateur que vous avez ouverte à l’étape Accéder à l’application, puis actualisez la page.Once deployment has completed, return to the browser window that opened during the Browse to the app step, and refresh the page.

Mise à jour de l’exemple d’application s’exécutant dans Azure

Gérer votre nouvelle application AzureManage your new Azure app

  1. Accédez au Portail Azure pour gérer l’application web que vous avez créée.Go to the Azure portal to manage the web app you created. Recherchez et sélectionnez App Services.Search for and select App Services.

    Rechercher App Services, portail Azure, créer une application web PHP

  2. Sélectionnez le nom de votre application Azure.Select the name of your Azure app.

    Navigation au sein du portail pour accéder à l’application Azure

    La page Vue d’ensemble de votre application web s’affiche.Your web app's Overview page will be displayed. Elle vous permet d’exécuter des tâches de gestion de base telles que Parcourir, Arrêter, Redémarrer et Supprimer.Here, you can perform basic management tasks like Browse, Stop, Restart, and Delete.

    Page App Service du Portail Azure

    Le menu de l’application web fournit différentes options vous permettant de configurer votre application.The web app menu provides different options for configuring your app.

Nettoyer les ressourcesClean up resources

Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources.In the preceding steps, you created Azure resources in a resource group. Si vous ne pensez pas avoir besoin de ces ressources à l’avenir, supprimez le groupe de ressources en exécutant la commande suivante dans 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

L’exécution de cette commande peut prendre une minute.This command may take a minute to run.

Étapes suivantesNext steps