Comment installer PHP 8.1 et configurer un environnement de développement local sur Ubuntu 22.04

De Get Docs
Aller à :navigation, rechercher

Une version précédente de ce didacticiel a été écrite par alenaholigan.

Introduction

PHP est un langage de script de serveur populaire connu pour créer des pages Web dynamiques et interactives. Être opérationnel avec la langue de votre choix est la première étape pour apprendre à programmer.

Ce tutoriel vous guidera dans l'installation de PHP 8.1 sur Ubuntu et la configuration d'un environnement de programmation local via la ligne de commande. Vous allez également installer un gestionnaire de dépendances, Composer, et tester votre installation en exécutant un script.

Conditions préalables

Pour terminer ce didacticiel, vous aurez besoin d'une machine locale ou virtuelle avec Ubuntu 22.04 installé et d'un accès administratif et d'une connexion Internet à cette machine. Vous pouvez télécharger ce système d'exploitation via la page des versions Ubuntu.

Étape 1 - Configuration de PHP 8.1

Vous terminerez votre installation et votre configuration sur la ligne de commande, qui est un moyen non graphique d'interagir avec votre ordinateur. Autrement dit, au lieu de cliquer sur des boutons, vous saisirez du texte et recevrez également des commentaires de votre ordinateur par le biais de texte.

La ligne de commande, également appelée shell ou terminal, peut vous aider à modifier et à automatiser de nombreuses tâches que vous effectuez quotidiennement sur un ordinateur et constitue un outil essentiel pour les développeurs de logiciels. Il existe de nombreuses commandes de terminal à apprendre qui peuvent vous permettre de faire des choses plus puissantes. L'article Une introduction au terminal Linux peut vous aider à mieux vous orienter avec le terminal.

Sur Ubuntu, vous pouvez trouver l'application Terminal en cliquant sur l'icône Ubuntu dans le coin supérieur gauche de votre écran et en tapant terminal dans la barre de recherche. Cliquez sur l'icône de l'application Terminal pour l'ouvrir. Vous pouvez également appuyer simultanément sur les touches CTRL, ALT et T de votre clavier pour ouvrir automatiquement l'application Terminal.

Remarque : Ubuntu 22.04 est livré avec PHP 8.1 dans ses dépôts. Cela signifie que si vous essayez d'installer PHP sans une version spécifiée, il utilisera 8.1.

Si vous souhaitez utiliser une version différente de PHP sur votre serveur Ubuntu 22.04, vous pouvez utiliser le projet phpenv pour installer et gérer différentes versions.


Exécutez les commandes suivantes pour mettre à jour votre liste de packages disponibles, puis installez PHP 8.1 :

sudo apt update
sudo apt install --no-install-recommends php8.1

L'indicateur --no-install-recommends garantira que d'autres packages tels que le serveur Web Apache ne sont pas installés.

Vérifiez vos informations de version PHP avec la commande suivante :

php -v

Vous recevrez une sortie comme celle-ci :

OutputPHP 8.1.2 (cli) (built: Apr  7 2022 17:46:26) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.2, Copyright (c), by Zend Technologies

Outre PHP lui-même, vous souhaiterez probablement installer des modules PHP supplémentaires. Vous pouvez utiliser cette commande pour installer des modules supplémentaires, en remplaçant PACKAGE_NAME par le package que vous souhaitez installer :

sudo apt-get install php8.1-PACKAGE_NAME

Vous pouvez également installer plusieurs packages à la fois. Voici quelques suggestions des modules les plus courants que vous voudrez probablement installer :

sudo apt-get install -y php8.1-cli php8.1-common php8.1-mysql php8.1-zip php8.1-gd php8.1-mbstring php8.1-curl php8.1-xml php8.1-bcmath

Cette commande installera les modules suivants :

  • php8.1-cli - interpréteur de commandes, utile pour tester des scripts PHP à partir d'un shell ou effectuer des tâches générales de script shell
  • php8.1-common - documentation, exemples et modules communs pour PHP
  • php8.1-mysql - pour travailler avec les bases de données MySQL
  • php8.1-zip - pour travailler avec des fichiers compressés
  • php8.1-gd - pour travailler avec des images
  • php8.1-mbstring - utilisé pour gérer les chaînes non ASCII
  • php8.1-curl - vous permet de faire des requêtes HTTP en PHP
  • php8.1-xml - pour travailler avec des données XML
  • php8.1-bcmath - utilisé lorsque vous travaillez avec des flotteurs de précision

Les configurations PHP liées à Apache sont stockées dans /etc/php/8.1/apache2/php.ini. Vous pouvez lister tous les modules PHP chargés avec la commande suivante :

php -m

Vous avez installé PHP et vérifié la version que vous utilisez. Vous avez également installé tous les modules PHP requis et avez pu répertorier les modules que vous avez chargés.

Vous pouvez commencer à utiliser PHP dès maintenant, mais vous souhaiterez probablement utiliser diverses bibliothèques pour créer rapidement des applications PHP. Avant de tester votre environnement PHP, configurez d'abord un gestionnaire de dépendances pour vos projets.

Étape 2 - Configuration de Composer pour la gestion des dépendances (facultatif)

Les bibliothèques sont une collection de code qui peut vous aider à résoudre des problèmes courants sans avoir à tout écrire vous-même. Étant donné qu'il existe de nombreuses bibliothèques disponibles, l'utilisation d'un gestionnaire de dépendances vous aidera à gérer plusieurs bibliothèques à mesure que vous devenez plus expérimenté dans l'écriture de PHP.

Composer est un outil de gestion des dépendances en PHP. Il vous permet de déclarer les bibliothèques dont dépend votre projet et gérera l'installation et la mise à jour de ces packages.

Bien que similaire, Composer n'est pas un gestionnaire de paquets au même sens que yum ou apt. Il traite des « paquets » ou des bibliothèques, mais il les gère projet par projet, en les installant dans un répertoire (par exemple vendor) dans votre projet. Par défaut, il n'installe rien globalement. Il s'agit donc d'un gestionnaire de dépendances. Cependant, il prend en charge un projet global pour plus de commodité via la commande global.

Cette idée n'est pas nouvelle et Composer s'inspire fortement des npm de Node et des bundler de Ruby.

Supposer:

  • Vous avez un projet qui dépend de plusieurs bibliothèques.
  • Certaines de ces bibliothèques dépendent d'autres bibliothèques.

Compositeur:

  • Permet de déclarer les bibliothèques dont vous dépendez.
  • Trouve quelles versions de quels packages peuvent et doivent être installés et les installe en les téléchargeant dans votre projet.
  • Vous permet de mettre à jour toutes vos dépendances en une seule commande.
  • Permet de consulter le chapitre Utilisation de base pour plus de détails sur la déclaration des dépendances.

Pour installer Composer, téléchargez d'abord le programme d'installation avec la commande curl :

curl -sS https://getcomposer.org/installer -o /tmp/composer-setup.php

Ensuite, vérifiez que le programme d'installation téléchargé correspond au hachage SHA-384 du dernier programme d'installation trouvé sur la page Composer Public Keys / Signatures. Pour faciliter l'étape de vérification, vous pouvez utiliser la commande suivante pour obtenir par programmation le dernier hachage de la page Composer et le stocker dans une variable shell :

HASH=`curl -sS https://composer.github.io/installer.sig`

Pour vérifier la valeur obtenue, vous pouvez exécuter :

echo $HASH
Output55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae

Exécutez maintenant le code PHP suivant, tel qu'il est fourni sur la page de téléchargement de Composer [1], pour vérifier que le script d'installation peut être exécuté en toute sécurité :

php -r "if (hash_file('SHA384', '/tmp/composer-setup.php') === '$HASH') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"

Vous verrez le résultat suivant :

Production

Installer verified

Si la sortie indique Installer corrupt, vous devrez télécharger à nouveau le script d'installation et vérifier que vous utilisez le bon hachage. Ensuite, répétez le processus de vérification. Lorsque vous avez un programme d'installation vérifié, vous pouvez continuer.

Pour installer composer globalement, utilisez la commande suivante qui téléchargera et installera Composer en tant que commande système nommée composer, sous /usr/local/bin :

sudo php /tmp/composer-setup.php --install-dir=/usr/local/bin --filename=composer

Vous recevrez une sortie semblable à celle-ci :

OutputAll settings correct for using Composer
Downloading...

Composer (version 2.3.5) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Pour tester votre installation, exécutez :

composer

Vous recevrez une sortie comme celle-ci :

Output   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 2.3.5 2022-04-13 16:43:00

Usage:
  command [options] [arguments]

Options:
  -h, --help                     Display help for the given command. When no command is given display help for the list command
  -q, --quiet                    Do not output any message
  -V, --version                  Display this application version
      --ansi|--no-ansi           Force (or disable --no-ansi) ANSI output
  -n, --no-interaction           Do not ask any interactive question
      --profile                  Display timing and memory usage information
      --no-plugins               Whether to disable plugins.
      --no-scripts               Skips the execution of all scripts defined in composer.json file.
  -d, --working-dir=WORKING-DIR  If specified, use the given directory as working directory.
      --no-cache                 Prevent use of the cache
  -v|vv|vvv, --verbose           Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
. . .

Cela vérifie que Composer a été installé avec succès sur votre système et qu'il est disponible dans tout le système.

Remarque : Si vous préférez avoir des exécutables Composer distincts pour chaque projet que vous hébergez sur votre serveur, vous pouvez l'installer localement, projet par projet. Cette méthode est également utile lorsque l'utilisateur de votre système n'est pas autorisé à installer des logiciels à l'échelle du système.

Pour cela, utilisez la commande php /tmp/composer-setup.php sans aucun argument. Cette commande générera un fichier composer.phar dans votre répertoire actuel, que vous pouvez exécuter à l'aide de php composer.phar.


Étape 3 - Utilisation de Composer dans un projet PHP

Comme dernière étape, vous pouvez éventuellement initialiser votre projet avec composer init. Cela créera le fichier composer.json qui gérera les dépendances de votre projet. L'initialisation du projet vous permettra également de définir les détails du projet tels que l'auteur et la licence, et d'utiliser la fonctionnalité de chargement automatique de Composer. Vous pouvez définir des dépendances maintenant ou les ajouter ultérieurement.

Tout d'abord, créez un répertoire et changez-le pour contenir vos fichiers de projet :

cd ~
mkdir example-project
cd example-project

Initialisez maintenant votre projet :

composer init

L'exécution de cette commande lancera l'assistant de configuration. Les détails que vous entrez dans l'assistant peuvent être mis à jour ultérieurement, alors n'hésitez pas à laisser les valeurs par défaut et appuyez simplement sur ENTER. Si vous n'êtes pas prêt à installer des dépendances, vous pouvez choisir no. Entrez vos coordonnées à chaque invite :

Output
                                            
  Welcome to the Composer config generator  
                                            


This command will guide you through creating your composer.json config.

Package name (<vendor>/<name>) [sammy/example-project]:  sammy/project1
Description []:
Author [n to skip]: Sammy <[email protected]>
Minimum Stability []: 
Package Type (e.g. library, project, metapackage, composer-plugin) []: project
License []: 

Define your dependencies.

Would you like to define your dependencies (require) interactively [yes]? no
Would you like to define your dev dependencies (require-dev) interactively [yes]? no

Add PSR-4 autoload mapping? Maps namespace "Sammy\Project1" to the entered relative path. [src/, n to skip]: n

{
    "name": "sammy/project1",
    "type": "project",
    "authors": [
        {
            "name": "Sammy",
            "email": "[email protected]"
        }
    ],
    "require": {}
}

Do you confirm generation [yes]? yes

Avant de confirmer la génération, vous verrez un exemple du fichier composer.json que l'assistant va créer. Si tout semble bon, vous pouvez confirmer la valeur par défaut de yes. Si vous devez recommencer, choisissez no.

La première fois que vous définissez une dépendance, Composer créera un dossier vendor. Toutes les dépendances s'installent dans ce dossier vendor. Composer crée également un fichier composer.lock. Ce fichier spécifie la version exacte de chaque dépendance et sous-dépendance utilisée dans votre projet. Cela garantit que toute machine sur laquelle votre programme est exécuté utilisera exactement la même version de chaque package.

Remarque : Le dossier vendor ne doit jamais être validé dans votre système de contrôle de version (VCS). Le dossier vendor contient uniquement les packages que vous avez installés à partir d'autres fournisseurs. Ces fournisseurs individuels maintiendront leur propre code dans leurs propres systèmes de contrôle de version. Vous ne devriez suivre que le code que vous écrivez. Au lieu de valider le dossier vendor, il vous suffit de valider vos fichiers composer.json et composer.lock. Vous pouvez en savoir plus sur l'ignorance de fichiers spécifiques dans How To Use Git: A Reference Guide.


Maintenant que vous avez installé PHP et un moyen de gérer les dépendances de votre projet à l'aide de Composer, vous êtes prêt à tester votre environnement.

Étape 3 - Test de l'environnement PHP

Pour tester que votre système est correctement configuré pour PHP, vous pouvez créer et exécuter un script PHP de base. Appelez ce script hello.php :

nano hello.php

Cela ouvrira un fichier vierge. Insérez le texte suivant, qui est du code PHP valide, dans le fichier :

bonjour.php

<?php
echo 'Hello World!';
?>

Une fois que vous avez ajouté le texte, enregistrez et fermez le fichier. Vous pouvez le faire en maintenant enfoncée la touche CTRL et en appuyant sur la touche x. Choisissez ensuite y et appuyez sur ENTER.

Vous pouvez maintenant tester pour vous assurer que PHP traite correctement votre script. Tapez php pour indiquer à PHP de traiter le fichier, suivi du nom du fichier :

php hello.php

Si le PHP est traité correctement, vous ne verrez que les caractères entre guillemets :

OutputHello World!

PHP a traité le script avec succès, ce qui signifie que votre environnement PHP est installé avec succès et que vous êtes prêt à poursuivre votre parcours de programmation.

Conclusion

À ce stade, vous disposez d'un environnement de programmation PHP 8.1 configuré sur votre système Ubuntu et pouvez commencer un projet de codage.

Avant de commencer à coder, vous souhaiterez peut-être configurer un environnement de développement intégré (IDE). Bien qu'il existe de nombreux IDE parmi lesquels choisir, VS Code est un choix populaire car il offre de nombreuses fonctionnalités puissantes telles qu'une interface graphique, la coloration syntaxique et le débogage.

Avec votre ordinateur local prêt pour le développement de logiciels, vous pouvez continuer à en apprendre davantage sur le codage en PHP en suivant Comment travailler avec des chaînes en PHP.