Créer une application web PHP dans Azure App Service
Azure App Service offre un service d’hébergement web hautement évolutif appliquant des mises à jour correctives automatiques. Ce démarrage rapide montre comment déployer une application PHP sur Azure App Service sous Windows.
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.
Vous pouvez suivre ces étapes en utilisant un ordinateur Mac, Windows ou Linux. Une fois les composants requis installés, l’exécution de cette procédure prend environ cinq minutes.
Si vous n’avez pas d’abonnement Azure, créez un compte gratuit Azure avant de commencer.
Prérequis
Pour suivre ce guide de démarrage rapide :
Téléchargez l’exemple localement
Exécutez les commandes suivantes dans une fenêtre de terminal. 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.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Assurez-vous que la branche par défaut est
main
.git branch -m main
Conseil
La modification du nom de la branche n’est pas requise par App Service. Toutefois, étant donné que de nombreux référentiels remplacent leur branche par défaut par
main
, ce guide de démarrage rapide vous montre également comment déployer un référentiel à partir demain
.
Exécutez l’application localement.
Exécutez l’application localement pour voir à quoi elle devrait ressembler lorsque vous la déploierez sur Azure. Ouvrez une fenêtre de terminal et utilisez la commande
php
pour lancer le serveur web PHP intégré.php -S localhost:8080
Ouvrez un navigateur web et accédez à l’application exemple à l’adresse
http://localhost:8080
.Vous voyez apparaître sur la page le message Hello World! de l’exemple d’application.
Dans la fenêtre de terminal, appuyez sur Ctrl + C pour quitter le serveur web.
Azure Cloud Shell
Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. 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.
Pour démarrer Azure Cloud Shell :
Option | Exemple/Lien |
---|---|
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. | |
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. | |
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. |
Pour utiliser Azure Cloud Shell :
Démarrez Cloud Shell.
Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.
Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.
Sélectionnez Entrée pour exécuter le code ou la commande.
Configuration d’un utilisateur de déploiement
Vous pouvez déployer le protocole FTP et Git local sur une application web Azure en faisant appel à un utilisateur de déploiement. Une fois que vous avez créé votre utilisateur de déploiement, vous pouvez l’utiliser pour tous vos déploiements Azure. 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.
Pour configurer l’utilisateur de déploiement, exécutez la commande az webapp deployment user set dans Azure Cloud Shell. Remplacez <username> et <password> par un nom d’utilisateur et un mot de passe de déploiement.
- Le nom d’utilisateur doit être unique dans Azure et, pour les push Git locaux, ne doit pas contenir le symbole « @ ».
- Le mot de passe doit comporter au moins huit caractères et inclure deux des trois éléments suivants : lettres, chiffres et symboles.
az webapp deployment user set --user-name <username> --password <password>
La sortie JSON affiche le mot de passe comme étant null
. Si vous obtenez une erreur 'Conflict'. Details: 409
, modifiez le nom d’utilisateur. Si vous obtenez une erreur 'Bad Request'. Details: 400
, utilisez un mot de passe plus fort.
Enregistrez le nom d’utilisateur et le mot de passe à utiliser pour déployer vos applications web.
Créer un groupe de ressources
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. Par exemple, vous pouvez choisir de supprimer le groupe de ressources complet ultérieurement en une seule étape.
Dans Cloud Shell, créez un groupe de ressources avec la commande az group create
. L’exemple suivant crée un groupe de ressources nommé myResourceGroup à l’emplacement Europe Ouest. Pour afficher tous les emplacements pris en charge pour App Service au niveau Gratuit, exécutez la commande az appservice list-locations --sku FREE
.
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.
Une fois la commande terminée, une sortie JSON affiche les propriétés du groupe de ressources.
Créer un plan Azure App Service
Dans Cloud Shell, créez un plan App Service avec la commande az appservice plan create
.
L’exemple suivant crée un plan App Service nommé myAppServicePlan
dans le niveau tarifaire myAppServicePlan
:
az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux
Lorsque le plan App Service est créé, l’interface Azure CLI affiche des informations similaires à l’exemple suivant :
{ "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 }
Créer une application web
Dans Cloud Shell, créez une application web dans le plan App Service
myAppServicePlan
avec la commandeaz webapp create
.Dans l’exemple suivant, remplacez
<app-name>
par un nom d’application unique (les caractères autorisés sonta-z
,0-9
et-
). Le runtime est défini surPHP|7.4
. Pour voir tous les runtimes, exécutezaz webapp list-runtimes
.az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'PHP|8.1' --deployment-local-git
Une fois l’application web créée, Azure CLI affiche une sortie similaire à l’exemple suivant :
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é.
Notes
L’URL du Git distant est indiquée dans la propriété
deploymentLocalGitUrl
, avec le formathttps://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git
. Enregistrez cette URL, car vous en aurez besoin ultérieurement.Accédez à votre nouvelle application web. Remplacez <app-name> par votre nom d’application unique créé à l’étape précédente.
http://<app-name>.azurewebsites.net
Voici à quoi doit ressembler votre nouvelle application web :
Effectuer une transmission de type push vers Azure à partir de Git
Étant donné que vous déployez la branche
main
, vous devez définir la branche de déploiement par défaut pour votre application App Service surmain
(voirmain
). Dans Cloud Shell, définissez le paramètre d’applicationDEPLOYMENT_BRANCH
à l’aide de la commandeaz webapp config appsettings set
.az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
De retour dans la fenêtre de terminal locale, ajoutez un dépôt distant Azure dans votre dépôt Git local. Remplacez <deploymentLocalGitUrl-from-create-step> par l’URL du Git distant que vous avez enregistrée à la section Créer une app web.
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. Quand Git Credential Manager vous invite à entrer vos informations d’identification, veillez à entrer celles que vous avez créées dans la section Configurer le déploiement Git local, et non pas celles vous permettant de vous connecter au portail Azure.
git push azure main
Cette commande peut prendre quelques minutes pour s’exécuter. Pendant son exécution, des informations semblables à ce qui suit s’affichent :
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’application
Accédez à l’application déployée à l’aide de votre navigateur web.
http://<app-name>.azurewebsites.net
L’exemple de code PHP s’exécute dans une application web Azure App Service.
Félicitations ! Vous avez déployé votre première application en PHP dans App Service.
Mettre à jour localement et redéployer le 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émentecho
:echo "Hello Azure!";
Dans la fenêtre du terminal local, validez vos modifications dans Git, puis envoyez les modifications de code à 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.
Gérer votre nouvelle application Azure
Accédez au Portail Azure pour gérer l’application web que vous avez créée. Recherchez et sélectionnez App Services.
Sélectionnez le nom de votre application Azure.
La page Vue d’ensemble de votre application web s’affiche. Elle vous permet d’exécuter des tâches de gestion de base telles que Parcourir, Arrêter, Redémarrer et Supprimer.
Le menu de l’application web fournit différentes options vous permettant de configurer votre application.
Nettoyer les ressources
Au cours des étapes précédentes, vous avez créé des ressources Azure au sein d’un groupe de ressources. 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 :
az group delete --name myResourceGroup
L’exécution de cette commande peut prendre une minute.
Azure App Service offre un service d’hébergement web hautement évolutif appliquant des mises à jour correctives automatiques. Ce guide de démarrage rapide montre comment déployer une application PHP sur Azure App Service sur Linux.
Vous pouvez suivre ces étapes en utilisant un ordinateur Mac, Windows ou Linux. Une fois les composants requis installés, l’exécution de cette procédure prend environ cinq minutes.
Pour effectuer ce démarrage rapide, les éléments suivants sont requis :
- Compte Azure avec un abonnement actif. Créez un compte gratuitement.
- Git
- PHP
- Azure CLI pour exécuter des commandes dans n’importe quel interpréteur de commandes en vue de créer et de configurer des ressources Azure.
1 - Obtenir l’exemple de référentiel
Vous pouvez créer 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.
Dans une fenêtre de terminal, exécutez les commandes suivantes pour cloner l’exemple d’application sur votre machine locale puis accédez à la racine du projet.
git clone https://github.com/Azure-Samples/php-docs-hello-world cd php-docs-hello-world
Pour exécuter l’application localement, utilisez la commande
php
afin de lancer le serveur web PHP intégré.php -S localhost:8080
Accédez à l’exemple d’application disponible à l’adresse
http://localhost:8080
dans un navigateur web.Dans la fenêtre de terminal, appuyez sur Ctrl + C pour quitter le serveur web.
2 – Déployer votre code d’application sur Azure
Azure CLI a une commande az webapp up
qui crée les ressources nécessaires et déploie votre application en une seule étape.
Dans le terminal, déployez le code dans votre dossier local à l’aide de la commande az webapp up
:
az webapp up --runtime "PHP:8.2" --os-type=linux
- Si la commande
az
n’est pas reconnue, vérifiez qu’Azure CLI est installé. - L’argument
--runtime "PHP:8.2"
crée l’application web avec PHP version 8.2. - L’argument
--os-type=linux
crée l’application web sur App Service sur Linux. - Vous pouvez éventuellement spécifier un nom avec l’argument
--name <app-name>
. Si vous n’en fournissez pas, le nom est généré automatiquement. - Vous pouvez éventuellement inclure l’argument
--location <location-name>
où<location_name>
est une région Azure disponible. Vous pouvez récupérer une liste de régions autorisées pour votre compte Azure en exécutant la commandeaz account list-locations
. - Si vous voyez l’erreur « Impossible de détecter automatiquement la pile d’exécution de votre application », vérifiez que vous exécutez la commande dans le répertoire de code (consultez Résolution des problèmes de détection automatique avec az webapp up).
L’exécution de la commande peut prendre plusieurs minutes. Pendant son exécution, elle fournit des messages sur la création du groupe de ressources, du plan App Service et de la ressource d’application, sur la configuration de la journalisation et sur le déploiement ZIP. Elle affiche ensuite le message « Vous pouvez lancer l’application sur http://<app-name>.azurewebsites.net », qui est l’URL de l’application sur 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" }
Notes
La commande az webapp up
exécute les actions suivantes :
Créer un groupe de ressources par défaut.
Créer un plan App Service par défaut.
Créer une application avec le nom spécifié.
Décompresser tous les fichiers à partir du répertoire de travail actuel, avec l’automatisation de build activée.
Mettre en cache les paramètres localement dans le fichier .azure/config afin de ne pas avoir à les spécifier à nouveau lors du déploiement ultérieur avec des commandes
az webapp up
ouaz webapp
à partir du dossier de projet. Les valeurs mises en cache sont utilisées automatiquement par défaut.
Accédez à l’application déployée à l’aide de votre navigateur web à l’URL http://<app-name>.azurewebsites.net
.
L’exemple de code PHP s’exécute dans Azure App Service.
Félicitations ! Vous avez déployé votre première application en PHP sur App Service à l’aide du portail Azure.
3 - Mise à jour et redéploiement de l’application
À 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émentecho
:echo "Hello Azure!";
Enregistrez vos modifications, puis redéployez l’application en réexécutant la commande az webapp up avec ces arguments :
az webapp up --runtime "PHP:8.2" --os-type=linux
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.
4 - Gérer votre nouvelle application Azure
Accédez au Portail Azure pour gérer l’application web que vous avez créée. Recherchez et sélectionnez App Services.
Sélectionnez le nom de votre application Azure.
La page Vue d’ensemble de votre application web doit s’afficher. Elle vous permet d’exécuter des tâches de gestion de base telles que Parcourir, Arrêter, Redémarrer et Supprimer.
Le menu de l’application web fournit différentes options vous permettant de configurer votre application.
5 - Nettoyer les ressources
Lorsque vous en avez terminé avec l’exemple d’application, vous pouvez supprimer d’Azure toutes les ressources pour l’application. Cela vous permet d’éviter les frais supplémentaires et d’encombrer votre abonnement Azure. Supprimer le groupe de ressources permet également de supprimer toutes les ressources qu’il contient. Cette méthode est la plus rapide pour supprimer toutes les ressources Azure de votre application.
Supprimez le groupe de ressources à l’aide de la commande az group delete.
az group delete --name myResourceGroup
L’exécution de cette commande prend une minute.