Comment installer PHP sur Ubuntu : Guide complet du débutant à l’expert (Ubuntu 22.04 LTS)

目次

1. Introduction

Pourquoi utiliser PHP sur Ubuntu

PHP est un langage de script côté serveur largement utilisé dans de nombreuses applications web, y compris WordPress. Il est utilisé depuis de nombreuses années dans le développement web, et un grand nombre de plateformes CMS et de frameworks sont construits avec PHP.

Ubuntu est une distribution Linux très stable utilisée par les développeurs du monde entier et particulièrement adaptée aux environnements serveur. La combinaison d’Ubuntu et de PHP est largement adoptée, des configurations de développement personnel aux systèmes de production de niveau entreprise.

Public cible et objectif de cet article

Cet article s’adresse à un large éventail d’utilisateurs, des débutants qui souhaitent installer PHP sur Ubuntu mais ne savent pas par où commencer, aux utilisateurs intermédiaires qui ont besoin d’installer des versions spécifiques de PHP. Les procédures sont expliquées aussi clairement que possible.

Les instructions sont basées sur Ubuntu 22.04 LTS, mais les mêmes étapes de base s’appliquent également à d’autres versions.

Ce que vous allez apprendre

En lisant cet article, vous serez capable de comprendre et de mettre en pratique les points suivants :

  • Méthodes de base pour installer PHP sur Ubuntu
  • Comment installer et basculer entre plusieurs versions de PHP
  • Comment vérifier le fonctionnement de PHP et résoudre les problèmes
  • Configuration pour l’intégration avec Apache et Nginx
  • Comment installer les modules PHP les plus courants

2. Prérequis et préparation

Comment vérifier votre version d’Ubuntu

Tout d’abord, vérifiez quelle version d’Ubuntu vous utilisez. Les méthodes d’installation de PHP et les modules pris en charge peuvent varier légèrement selon la version d’Ubuntu.

Vous pouvez vérifier la version d’Ubuntu en exécutant la commande suivante :

lsb_release -a

Vous pouvez également utiliser cette commande :

cat /etc/os-release

Cet article explique les procédures basées sur Ubuntu 22.04 LTS, mais les mêmes étapes s’appliquent généralement à Ubuntu 20.04 et 23.10.

Maintenir les paquets système à jour

Avant d’installer PHP, il est très important de mettre à jour tous les paquets du système. Cela aide à prévenir les problèmes de dépendances et les conflits.

sudo apt update
sudo apt upgrade -y

Cela met à jour l’index des paquets APT et garantit que tous les paquets peuvent être installés dans leurs dernières versions stables.

Installer les utilitaires requis

Certaines versions de PHP nécessitent des outils supplémentaires pour gérer les dépôts. Le paquet software-properties-common est nécessaire pour ajouter des dépôts tels que les PPA.

S’il n’est pas installé, installez-le en utilisant la commande suivante :

sudo apt install -y software-properties-common

Ce paquet est requis pour des commandes comme add-apt-repository, qui sont couramment utilisées lors de l’installation de versions spécifiques de PHP via un PPA.

Utiliser les privilèges root ou sudo

La plupart des opérations présentées dans cet article nécessitent des modifications au niveau du système. Assurez‑vous d’utiliser sudo lors de l’exécution des commandes.

3. Comment installer PHP

Il existe deux principales façons d’installer PHP sur Ubuntu. L’une consiste à installer depuis les dépôts par défaut, et l’autre à installer une version spécifique en utilisant un PPA (Personal Package Archive). Chaque méthode est détaillée ci‑dessous.

Installer PHP depuis le dépôt par défaut

Ubuntu fournit une version stable de PHP dans ses dépôts par défaut. Si vous n’avez pas besoin d’une version spécifique, c’est la méthode la plus simple.

sudo apt install -y php

Après l’installation, vérifiez que PHP est installé correctement :

php -v

Exemple de sortie :

PHP 8.1.2 (cli) (built: ...)

Sur Ubuntu 22.04, PHP 8.1 est installé par défaut.

Installer une version spécifique de PHP en utilisant un PPA

Si vous souhaitez utiliser la dernière version de PHP ou gérer plusieurs versions, vous pouvez ajouter le PPA ondrej/php.

Étape 1 : Ajouter le dépôt PPA

sudo add-apt-repository ppa:ondrej/php
sudo apt update

Ce PPA est largement utilisé dans la communauté Ubuntu et fournit des builds stables pour plusieurs versions de PHP.

Étape 2 : Installer la version de PHP souhaitée

Par exemple, pour installer PHP 8.2 :

sudo apt install -y php8.2

Vous pouvez également installer d’autres versions comme PHP 7.4 ou 8.0.

Étape 3 : Vérifier la version installée

php -v

4. Vérification du fonctionnement de PHP

Après l’installation de PHP, vérifiez qu’il fonctionne correctement. Vous pouvez le vérifier via la ligne de commande et via un serveur web tel qu’Apache ou Nginx.

Vérification via la ligne de commande (CLI)

D’abord, vérifiez la version de PHP depuis le terminal :

php -v

Exemple de sortie :

PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies

Vérification via le serveur web (Apache)

Si Apache est installé, créez une page de test en utilisant la fonction phpinfo().

1. Création d’un fichier de test

echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

2. Accès via le navigateur

http://localhost/info.php

3. Confirmation de la sortie

Si des informations détaillées sur PHP s’affichent, PHP fonctionne correctement avec Apache.

🔍 Note : La sortie de phpinfo() contient des informations sensibles. Supprimez le fichier après vérification.

sudo rm /var/www/html/info.php

Vérification avec Nginx + PHP-FPM

Lors de l’utilisation de Nginx, PHP est traité via php-fpm. Pour vérifier l’intégration correcte, assurez-vous que les fichiers .php sont correctement configurés dans le fichier de configuration de Nginx, puis créez un fichier info.php comme vous le feriez avec Apache.

Si la configuration est incorrecte, vous pourriez rencontrer une erreur 500 ou voir le fichier téléchargé au lieu d’exécuté. Dans ces cas, vérifiez les paramètres tels que fastcgi_pass et include fastcgi-php.conf ; dans la configuration de Nginx.

5. Installation de modules PHP couramment utilisés

L’installation de PHP seul ne fournit pas toutes les fonctionnalités. De nombreuses fonctionnalités sont fournies sous forme de modules séparés (extensions) qui doivent être installés selon les besoins. Cette section présente les modules PHP couramment utilisés dans le développement et les opérations réelles.

Qu’est-ce que les modules PHP ?

Les modules PHP (également appelés extensions) ajoutent des capacités spécifiques telles que la connectivité aux bases de données, la gestion des chaînes multibytes, le traitement d’images et l’analyse XML.

Les modules sont fournis sous forme de paquets APT et peuvent être installés comme suit :

sudo apt install php-module-name

Si vous souhaitez spécifier une version, utilisez un format tel que php8.2-mbstring.

Principaux modules PHP et leurs utilisations

php-mbstring (Support des chaînes multibytes)

Ce module est essentiel pour gérer les chaînes de caractères multibytes telles que le texte japonais. Il est presque obligatoire pour les sites web japonais et le traitement des e-mails.

sudo apt install php-mbstring

php-mysql (Connectivité MySQL / MariaDB)

Ce module est requis lors de la connexion à des bases de données telles que MySQL ou MariaDB. Il est essentiel pour des applications comme WordPress.

sudo apt install php-mysql

php-gd (Traitement d’images)

Ce module est utilisé pour générer, convertir et redimensionner des images, et est couramment utilisé pour les miniatures et la manipulation d’images.

sudo apt install php-gd

php-xml (Traitement XML)

Ce module est requis pour gérer les données basées sur XML telles que les flux RSS et les services SOAP. Il est couramment utilisé dans les plateformes CMS et les intégrations d’API.

sudo apt install php-xml

php-curl (Communication HTTP)

Ce module permet les requêtes HTTP depuis le serveur, par exemple lors de l’intégration avec des API externes. Il est requis par de nombreux frameworks modernes.

sudo apt install php-curl

php-zip (Gestion de fichiers compressés)

Ce module permet de créer et d’extraire des fichiers ZIP et est souvent utilisé dans les fonctionnalités de téléchargement de fichiers.

sudo apt install php-zip

Activation des modules et redémarrage des services

Certains modules nécessitent une activation explicite après installation. Utilisez phpenmod pour les activer.

sudo phpenmod module_name
sudo systemctl restart apache2

Les modules activés prennent effet après le redémarrage du serveur web.

6. Gestion et changement de versions de PHP

Ubuntu permet d’installer et d’utiliser plusieurs versions de PHP sur un seul serveur. Cela est particulièrement utile dans les environnements de développement ou sur des serveurs hébergeant plusieurs applications web.

Cette section explique comment changer les versions de PHP pour le CLI et pour Apache.

Changer les versions de PHP dans le CLI

Commande utilisée : update-alternatives

Vous pouvez facilement changer la version de PHP utilisée en ligne de commande avec update-alternatives.

Étape 1 : Vérifier les versions de PHP installées

ls /usr/bin/php*

Étape 2 : Enregistrer les versions de PHP (première fois uniquement)

sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82

Étape 3 : Sélectionner la version de PHP

sudo update-alternatives --config php

Vous verrez un menu de sélection similaire à celui-ci :

There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php7.4   74        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number:

Étape 4 : Vérifier la version

php -v

Changer les versions de PHP dans Apache

Lorsque vous utilisez Apache, les versions de PHP sont gérées via les modules Apache. Vous pouvez changer de version en activant et désactivant les modules.

1. Vérifier les modules disponibles

ls /etc/apache2/mods-available | grep php

2. Désactiver le module actuellement actif

sudo a2dismod php7.4

3. Activer la version souhaitée

sudo a2enmod php8.2

4. Redémarrer Apache

sudo systemctl restart apache2

7. Intégration de PHP avec Apache et Nginx

PHP devient réellement puissant lorsqu’il est intégré à un serveur web. Sur Ubuntu, les serveurs web les plus couramment utilisés sont Apache et Nginx.

Intégration Apache (mod_php)

Apache peut traiter les scripts PHP directement en utilisant le module mod_php. Cette méthode est simple et adaptée aux plateformes CMS comme WordPress.

Étape 1 : Installer Apache et mod_php

sudo apt install -y apache2 libapache2-mod-php

Étape 2 : Redémarrer Apache

sudo systemctl restart apache2

Étape 3 : Tester l’exécution de PHP

<?php
phpinfo();
?>
http://localhost/test.php

Intégration Nginx (PHP-FPM)

Nginx ne traite pas PHP directement. Il s’appuie plutôt sur PHP-FPM (FastCGI Process Manager).

Étape 1 : Installer Nginx et PHP-FPM

sudo apt install -y nginx php-fpm

Étape 2 : Modifier la configuration de Nginx

sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Étape 3 : Redémarrer Nginx

sudo systemctl restart nginx

8. Dépannage

Le code source PHP s’affiche dans le navigateur

Cause

Cela se produit lorsque le serveur web ne traite pas correctement les fichiers PHP.

Solution

  • Apache :
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Nginx :
    sudo systemctl restart php8.2-fpm
    sudo systemctl restart nginx
    

Les fonctions PHP sont indéfinies

Cause

Les modules PHP requis ne sont pas installés ou activés.

Solution

sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m

Les erreurs PHP ne sont pas affichées

Solution

sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2

Emplacements des fichiers journaux

Apache :

/var/log/apache2/error.log

Nginx :

/var/log/nginx/error.log

PHP-FPM :

/var/log/php8.2-fpm.log

9. Résumé

Cet article a fourni une explication étape par étape sur la façon d’installer PHP sur Ubuntu, des bases aux sujets avancés.

Points clés à retenir

  • Vérifiez votre version d’Ubuntu et mettez à jour les paquets
  • Installez PHP via les dépôts par défaut ou les PPAs
  • Vérifiez PHP via CLI et les serveurs web
  • Étendez la fonctionnalité avec des modules
  • Gérez plusieurs versions de PHP de manière flexible
  • Intégrez correctement avec Apache ou Nginx
  • Consultez les journaux lors du dépannage

Étapes suivantes

  • Installez MySQL ou MariaDB
  • Configurez WordPress
  • Utilisez des frameworks PHP comme Laravel
  • Activez HTTPS avec des certificats SSL
  • Gérez les services avec systemd

Ubuntu et PHP ensemble fournissent un environnement de développement robuste et flexible. Utilisez ce guide comme base et continuez à développer vos compétences.

10. Questions fréquemment posées (FAQ)

Q1. Comment installer la dernière version de PHP sur Ubuntu ?

A. Utilisez le PPA ondrej/php et spécifiez la version souhaitée.

Q2. Comment changer de versions de PHP dans la CLI ?

sudo update-alternatives --config php

Q3. Le code source PHP est affiché dans Apache.

sudo apt install libapache2-mod-php
sudo systemctl restart apache2

Q4. Où se trouve php.ini ?

  • Apache : /etc/php/8.2/apache2/php.ini
  • CLI : /etc/php/8.2/cli/php.ini

Q5. Comment activer les modules PHP ?

sudo phpenmod mbstring
sudo systemctl restart apache2

Q6. PHP ne fonctionne pas avec Nginx.

Assurez-vous que php-fpm est installé et que fastcgi_pass est correctement configuré.

Q7. Les erreurs PHP ne sont pas visibles.

display_errors = On
error_reporting = E_ALL