Comment installer PHP 8.1 et configurer un environnement de développement local sur Ubuntu 22.04
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 shellphp8.1-common
- documentation, exemples et modules communs pour PHPphp8.1-mysql
- pour travailler avec les bases de données MySQLphp8.1-zip
- pour travailler avec des fichiers compressésphp8.1-gd
- pour travailler avec des imagesphp8.1-mbstring
- utilisé pour gérer les chaînes non ASCIIphp8.1-curl
- vous permet de faire des requêtes HTTP en PHPphp8.1-xml
- pour travailler avec des données XMLphp8.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.