- 1 1. Introduction
- 2 2. Prérequis et préparation
- 3 3. Comment installer PHP
- 4 4. Vérification du fonctionnement de PHP
- 5 5. Installation de modules PHP couramment utilisés
- 6 6. Gestion et changement de versions de PHP
- 7 7. Intégration de PHP avec Apache et Nginx
- 8 8. Dépannage
- 9 9. Résumé
- 10 10. Questions fréquemment posées (FAQ)
- 10.1 Q1. Comment installer la dernière version de PHP sur Ubuntu ?
- 10.2 Q2. Comment changer de versions de PHP dans la CLI ?
- 10.3 Q3. Le code source PHP est affiché dans Apache.
- 10.4 Q4. Où se trouve php.ini ?
- 10.5 Q5. Comment activer les modules PHP ?
- 10.6 Q6. PHP ne fonctionne pas avec Nginx.
- 10.7 Q7. Les erreurs PHP ne sont pas visibles.
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


