Créer une application web PHP dans AzureCreate a PHP web app in Azure

Notes

Cet article explique comment déployer une application sur App Service sous Windows.This article deploys an app to App Service on Windows. Pour déployer une application App Service sur Linux, consultez Créer et déployer une application web PHP sur App Service sur Linux.To deploy to App Service on Linux, see Create a PHP web app in App Service on Linux.

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 montre comment déployer une application PHP sur Azure App Service.This quickstart tutorial shows how to deploy a PHP app to Azure App Service. 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. Cloud Shell vous permet d’utiliser bash ou PowerShell pour travailler avec les services Azure.Cloud Shell lets you use either bash or PowerShell 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 pre-installed commands to run the code in this article without having to install anything on your local environment.

Pour lancer Azure Cloud Shell :To launch 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 top-right menu bar 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. Ouvrez Cloud Shell.Open 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 avec Ctrl+Maj+V sur Windows et Linux, ou Cmd+ Maj+V sur macOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.
  4. Appuyez sur Entrée pour exécuter le code.Press 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és et gérés.A resource group is a logical container into which Azure resources like 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 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.0.The runtime is set to PHP|7.0. 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.0" --deployment-local-git
# PowerShell
az --% webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app_name> --runtime "PHP|7.0" --deployment-local-git

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 <nom de l’application > par le 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 du terminal local, ajoutez un référentiel distant Azure dans votre référentiel 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 Git distant que vous avez enregistrée à la section Créer une app 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 prompted for credentials by Git Credential Manager, make sure that 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 'master'.
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  master -> master

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 master

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

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.

Dans le menu de gauche, cliquez sur App Services, puis sur le nom de votre application Azure.From the left menu, click App Services, and then click 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. Ici, vous pouvez également des tâches de gestion de base (parcourir, arrêter, démarrer, redémarrer et supprimer des éléments, par exemple).Here, you can perform basic management tasks like browse, stop, start, restart, and delete.

Page App Service du Portail Azure

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

Supprimer des 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