Comment installer et utiliser PHP sur Ubuntu : guide complet pour débutants 2025

目次

1. Introduction

Pourquoi utiliser PHP sur Ubuntu ?

PHP est un langage de script côté serveur largement utilisé dans de nombreuses applications web, dont WordPress. Il est un standard du développement web depuis de nombreuses années, alimentant de nombreux CMS et frameworks.

Ubuntu est une distribution Linux très stable, prisée des développeurs du monde entier et particulièrement adaptée à un usage serveur. L’association Ubuntu + PHP est largement adoptée, des projets personnels aux environnements de production d’entreprise.

À qui s’adresse cet article et quel est son objectif

Ce guide s’adresse à tout le monde, des débutants — qui souhaitent installer PHP sur Ubuntu mais ne savent pas par où commencer — aux utilisateurs intermédiaires qui veulent installer une version précise de PHP. Nous proposons des instructions claires, étape par étape.

Nous utilisons Ubuntu 22.04 LTS comme environnement d’exemple, mais les étapes sont généralement similaires pour les autres versions.

Ce que vous apprendrez dans cet article

En lisant ce guide, vous serez capable de comprendre et d’exécuter les tâches suivantes :

  • Méthodes de base pour installer PHP sur Ubuntu
  • Comment installer et basculer entre plusieurs versions de PHP
  • Comment vérifier que PHP fonctionne et dépanner les problèmes
  • Comment configurer l’intégration avec Apache ou Nginx
  • Comment installer les modules PHP les plus courants

2. Prérequis et préparation

Comment vérifier votre version d’Ubuntu

Commencez par vérifier quelle version d’Ubuntu vous utilisez. Les étapes d’installation et les modules PHP disponibles peuvent légèrement varier selon votre version d’Ubuntu.

Vous pouvez vérifier votre version d’Ubuntu avec la commande :

lsb_release -a

Vous pouvez également utiliser la commande suivante :

cat /etc/os-release

Cet article est basé sur Ubuntu 22.04 LTS, mais la procédure de base s’applique aussi à 20.04 et 23.10.

Garder vos paquets système à jour

Avant d’installer PHP, il est essentiel de mettre à jour vos paquets système vers les dernières versions. Cela évite les problèmes de dépendances ou les incohérences. Mettez à jour avec les commandes suivantes :

sudo apt update
sudo apt upgrade -y

Cela rafraîchit l’index des paquets APT, garantissant que vous installez les versions les plus récentes.

Installer les utilitaires requis

Lorsque vous installez certaines versions de PHP, vous aurez besoin du paquet software-properties-common pour ajouter des dépôts et gérer les paquets. S’il n’est pas déjà installé, faites :

sudo apt install -y software-properties-common

Ce paquet est nécessaire pour des commandes comme add-apt-repository, notamment lorsqu’on utilise un PPA (Personal Package Archive) pour installer des versions spécifiques de PHP.

Utiliser les privilèges root ou sudo

La plupart des étapes de cet article impliquent des modifications système, vous devrez donc utiliser sudo avec vos commandes. Si vous n’êtes pas familier avec sudo, revoyez les bases de la commande sudo avant de continuer.

3. Comment installer PHP

Il existe deux méthodes principales pour installer PHP sur Ubuntu : en utilisant le dépôt par défaut, ou en spécifiant une version via un PPA (Personal Package Archive). Nous parcourrons les deux méthodes.

Installation de PHP depuis le dépôt par défaut

Le dépôt par défaut d’Ubuntu fournit des versions stables de PHP. Si vous n’avez pas besoin d’une version précise, exécutez simplement :

sudo apt install -y php

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

php -v

Exemple :

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

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

Installation d’une version spécifique via un PPA

Si vous voulez la dernière version de PHP ou devez gérer plusieurs versions, vous pouvez ajouter le PPA de confiance ondrej/php et spécifier la version souhaitée.

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

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

Ce dépôt est largement utilisé dans la communauté Ubuntu et propose des builds stables pour toutes les principales versions de PHP.

Étape 2 : Installer la version de PHP désiré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 de la même façon.

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

php -v

Si la version spécifique a été installée avec succès, elle s’affichera ici.

4. Vérifier l’installation de PHP

Une fois PHP installé, assurez‑vous qu’il fonctionne. Sous Ubuntu, vous pouvez le vérifier via la ligne de commande (CLI) et également via votre serveur web (Apache ou Nginx). Voici comment :

Vérification via la ligne de commande (CLI)

Affichez la version de PHP dans le terminal pour confirmer que PHP fonctionne :

php -v

Si vous voyez la version et les informations de build, PHP fonctionne en CLI.

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 (exemple avec Apache)

Si vous utilisez Apache, créez une page de test contenant la fonction phpinfo() pour vérifier que PHP fonctionne avec Apache.

1. Créer le fichier de test

Créez un fichier PHP dans votre répertoire web Apache (généralement /var/www/html) avec :

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

2. Vérifier dans votre navigateur

Accédez au fichier dans votre navigateur. Sur votre machine locale, visitez :

http://localhost/info.php

3. Examiner la sortie

Si vous voyez les informations détaillées de PHP, alors PHP fonctionne via Apache.

🔍 Astuce : Comme phpinfo() peut afficher des informations sensibles, supprimez le fichier info.php après vérification.

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

Vérification avec Nginx + PHP‑FPM

Si vous utilisez Nginx, PHP s’exécute via php-fpm. Assurez‑vous que Nginx est configuré pour gérer les fichiers .php, puis créez info.php comme ci‑dessus. Si vous obtenez une erreur 500 ou une invite de téléchargement, vérifiez votre configuration Nginx, en particulier fastcgi_pass et include fastcgi-php.conf;.

5. Installation des modules PHP les plus courants

L’installation de base de PHP ne comprend pas toutes les fonctionnalités. Beaucoup sont fournies sous forme de modules (extensions) qui doivent être installés au besoin. Nous présentons ici les modules PHP essentiels pour le développement et la production.

Que sont les modules PHP ?

Les modules (ou extensions) PHP ajoutent des fonctionnalités comme la connexion à une base de données, le traitement multibyte, la manipulation d’images ou le traitement XML.

Les modules sont disponibles sous forme de paquets APT et peuvent être installés ainsi :

sudo apt install php-[nom‑module]

Pour spécifier une version, utilisez par exemple php8.2-mbstring.

Modules PHP clés et leurs usages

php-mbstring (support des chaînes multibytes)

Nécessaire pour gérer les caractères multibytes comme le japonais. Indispensable pour les sites japonais ou le traitement d’e‑mails.

sudo apt install php-mbstring

php-mysql (connectivité MySQL/MariaDB)

Permet de se connecter aux bases de données MySQL ou MariaDB. Requis pour des applications comme WordPress qui utilisent une base de données.

sudo apt install php-mysql

php-gd (traitement d’images)

Gère la création, la conversion et le redimensionnement d’images ; utilisé pour générer des captures d’écran ou des miniatures.

sudo apt install php-gd

php-xml (traitement XML)

Nécessaire pour manipuler des données basées sur XML comme les flux RSS ou SOAP. Utilisé dans les CMS et pour l’intégration d’API.

sudo apt install php-xml

php-curl (communication HTTP)

Utilisé pour envoyer des requêtes HTTP, par exemple lors de l’intégration avec des API externes. Très répandu dans les frameworks modernes.

sudo apt install php-curl

php-zip (gestion des fichiers ZIP)

Permet de compresser et d’extraire des archives ZIP ; utile pour les fonctionnalités d’upload de fichiers.

sudo apt install php-zip

Activer les modules et redémarrer les services

Certains modules nécessitent d’être explicitement activés après l’installation. Utilisez phpenmod comme suit :

sudo phpenmod [nom‑module]
sudo systemctl restart apache2

Les changements prennent effet après le redémarrage de votre serveur web.

6. Gestion et basculement entre les versions de PHP

Ubuntu vous permet d’installer et d’utiliser plusieurs versions de PHP sur un même serveur. C’est pratique lorsqu’on héberge plusieurs applications ou que l’on développe dans différents environnements. Voici comment basculer de version en CLI et avec Apache.

Basculement de version en CLI

Commande : update-alternatives

Utilisez update-alternatives pour changer facilement la version de PHP utilisée en CLI.

Étape 1 : Lister les versions de PHP installées

ls /usr/bin/php*

Étape 2 : Enregistrer les versions avec update-alternatives (première fois seulement)

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 à utiliser

sudo update-alternatives --config php

Vous verrez un écran de sélection similaire à :

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:

Tapez le numéro correspondant à la version souhaitée puis appuyez sur Entrée.

Étape 4 : Confirmer la version

php -v

Basculement de version avec Apache

Avec Apache, vous pouvez activer ou désactiver les modules PHP par version. Voici comment choisir votre version préférée :

1. Lister les modules disponibles

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

2. Désactiver le module actuel

sudo a2dismod php7.4

3. Activer la version désirée

sudo a2enmod php8.2

4. Redémarrer Apache

sudo systemctl restart apache2

Cela applique vos changements à la fois en CLI et pour Apache.

7. Configuration de l’intégration avec Apache et Nginx

PHP devient vraiment puissant lorsqu’il est intégré à un serveur web. Sous Ubuntu, vous utiliserez généralement Apache ou Nginx. Voici comment connecter PHP aux deux.

Configuration d’Apache (mod_php)

Avec Apache, le module mod_php permet d’exécuter directement les scripts PHP. C’est simple à mettre en place, ce qui en fait un bon choix pour WordPress et d’autres CMS.

Étape 1 : Installer Apache et mod_php

sudo apt install -y apache2 libapache2-mod-php

Avec libapache2-mod-php installé, Apache peut traiter les fichiers PHP.

Étape 2 : Redémarrer Apache

sudo systemctl restart apache2

Étape 3 : Tester avec un fichier PHP

Créez un fichier test.php dans /var/www/html et ouvrez‑le dans votre navigateur :

<?php
phpinfo();
?>

URL d’exemple :

http://localhost/test.php

Configuration de Nginx (PHP‑FPM)

Nginx est léger et rapide, mais ne peut pas traiter PHP directement. Vous utiliserez PHP‑FPM (FastCGI Process Manager) pour le support PHP.

Étape 1 : Installer Nginx et PHP‑FPM

sudo apt install -y nginx php-fpm

Étape 2 : Modifier le fichier de configuration Nginx

Éditez /etc/nginx/sites-available/default (ou votre configuration de virtual host) :

sudo nano /etc/nginx/sites-available/default

Ajoutez ou mettez à jour ce bloc :

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

Étape 4 : Tester avec un fichier PHP

Créez /var/www/html/test.php et vérifiez dans votre navigateur, comme pour Apache.

Note : Paramètres du pare‑feu (si nécessaire)

Si vous utilisez UFW (Uncomplicated Firewall), autorisez l’accès avec :

sudo ufw allow 'Apache Full'
# ou
sudo ufw allow 'Nginx Full'

Apache est facile à configurer, tandis que Nginx offre de hautes performances. Choisissez ce qui convient le mieux et assurez‑vous que l’intégration PHP est correctement configurée.

8. Dépannage

Parfois, PHP ne fonctionne pas comme prévu, même après l’installation et l’intégration au serveur. Cette section couvre les problèmes courants, leurs causes et leurs solutions.

PHP ne fonctionne pas (le code source s’affiche dans le navigateur)

Cause

Cela se produit lorsque Apache ou Nginx renvoie le fichier PHP en texte brut au lieu de l’exécuter. Le module PHP ou les paramètres FastCGI ne sont probablement pas correctement configurés.

Solution

  • Pour Apache :
    Vérifiez que libapache2-mod-php est installé et activé, puis redémarrez Apache.
  sudo apt install libapache2-mod-php
  sudo systemctl restart apache2
  • Pour Nginx :
    Vérifiez que php-fpm est installé et que la configuration Nginx contient le bon fastcgi_pass et les bonnes directives.
  sudo systemctl restart php8.2-fpm
  sudo systemctl restart nginx

Certaines fonctionnalités PHP ne fonctionnent pas (fonctions indéfinies)

Cause

En général, le module PHP requis n’est pas installé ou activé.

Solution

  • Installez le(s) module(s) nécessaire(s), par exemple mbstring, xml ou curl :
  sudo apt install php-mbstring php-xml php-curl
  • Après avoir activé un module, redémarrez votre serveur web.
  sudo systemctl restart apache2  # ou nginx
  • Vérifiez les modules activés avec :
  php -m

Les erreurs PHP ne s’affichent pas

Cause

Par défaut, les messages d’erreur PHP peuvent être désactivés.

Solution

Modifiez php.ini et activez l’affichage des erreurs :

sudo nano /etc/php/8.2/apache2/php.ini

Recherchez et définissez :

display_errors = On
error_reporting = E_ALL

Puis redémarrez votre serveur web :

sudo systemctl restart apache2

Comment consulter les journaux d’erreurs

Pour Apache :

/var/log/apache2/error.log

Pour Nginx :

/var/log/nginx/error.log

Pour PHP‑FPM (avec Nginx) :

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

Surveillez ces journaux pour le dépannage :

sudo tail -f /var/log/apache2/error.log

Lorsque des erreurs surviennent, souvenez‑vous : Vérifier les journaux → Revoir la configuration → Redémarrer le serveur. Restez calme et dépannez étape par étape.

9. Conclusion

Cet article a expliqué—des bases aux étapes avancées—comment installer PHP sur Ubuntu. Voici les points clés et les prochaines étapes à explorer.

Résumé des points essentiels

  • Vérifier la version d’Ubuntu et préparer le système
    Vérifier votre version d’OS et mettre à jour les paquets est crucial pour une installation fluide de PHP.
  • Deux façons d’installer PHP
    Installation simple depuis le dépôt par défaut, ou via un PPA pour des versions spécifiques.
  • Vérifier après l’installation
    Utilisez php -v et phpinfo() pour tester PHP en CLI et en contexte web.
  • Étendre les fonctionnalités avec les modules
    Installez les modules courants comme php-mbstring et php-mysql selon vos besoins.
  • Basculer entre plusieurs versions
    Gérez facilement les versions avec update-alternatives ou le basculement des modules Apache.
  • Intégration correcte avec Apache/Nginx
    Une configuration adaptée à votre serveur web assure un fonctionnement stable.
  • Consulter les journaux pour le dépannage
    En cas de problème, la lecture des journaux d’erreurs est la première étape la plus efficace.

Prochaines étapes d’apprentissage

Après avoir installé PHP sur Ubuntu, vous pouvez approfondir les sujets suivants :

  • Installation de MySQL (MariaDB) et connexion aux bases de données
  • Installation et configuration de WordPress
  • Utilisation de frameworks PHP comme Laravel
  • Activation du HTTPS (certificats SSL avec Let’s Encrypt)
  • Gestion du démarrage automatique et des redémarrages (systemd)

Avec ces connaissances, vous pourrez créer des services web encore plus avancés. Ubuntu et PHP offrent ensemble un environnement de développement open‑source robuste et flexible. Utilisez cet article comme base pour passer à de nouveaux projets !

10. Foire aux questions (FAQ)

Cette FAQ couvre les obstacles courants et les questions que les utilisateurs recherchent souvent lorsqu’ils installent ou configurent PHP sur Ubuntu. Les réponses restent simples et pratiques, même pour les débutants.

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

R1.
La version la plus récente de PHP n’est pas toujours dans le dépôt par défaut d’Ubuntu. Ajoutez le PPA fiable ondrej/php, puis installez la version souhaitée.

sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2

Q2. Comment basculer de version PHP en CLI ?

R2.
Si plusieurs versions sont installées, utilisez update-alternatives pour changer de version.

sudo update-alternatives --config php

Entrez le numéro correspondant à la version désirée dans la liste affichée.

Q3. Apache affiche mon fichier PHP en texte brut au lieu de l’exécuter.

R3.
Cela signifie qu’Apache ne traite pas le PHP. Vérifiez que le module libapache2-mod-php est activé et redémarrez Apache :

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

Q4. Où se trouve le fichier de configuration PHP (php.ini) ?

R4.
Il existe des fichiers distincts pour le CLI et le serveur web. Les emplacements courants sont :

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

La partie « 8.2 » varie selon votre version de PHP.

Q5. Comment activer une extension PHP ?

R5.
Après l’installation, activez le module avec phpenmod :

sudo phpenmod mbstring
sudo systemctl restart apache2

Redémarrez votre serveur web après l’activation.

Q6. PHP ne fonctionne pas correctement avec Nginx. Que vérifier ?

R6.
Nginx nécessite php-fpm pour traiter le PHP. Assurez‑vous que votre configuration inclut le bon fastcgi_pass :

location ~ .php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}

Adaptez le chemin du socket à votre version de PHP.

Q7. Les erreurs PHP ne s’affichent pas à l’écran.

R7.
Dans php.ini, display_errors peut être désactivé. Pour le développement, activez‑le ainsi :

display_errors = On
error_reporting = E_ALL

Redémarrez votre serveur web après modification.

Ces FAQ vous aideront à éviter les pièges courants lors de l’utilisation de PHP sur Ubuntu. Gardez ces informations à portée de main pour un dépannage plus fluide !