Aller au contenu

PHP : installation sur Ubuntu

PHP est un langage de script très utilisé pour le web. Ce guide l’installe sur Ubuntu 24.04 et 26.04 : ligne de commande (CLI) et PHP-FPM pour un serveur web. Les exemples utilisent des noms génériques.

Ubuntu Paquet php Version
24.04 php8.3 PHP 8.3
26.04 php8.5 PHP 8.5

Le méta-paquet php installe la version de la distribution (avec Apache ; pour Nginx ou Caddy, préférer php-cli et php-fpm).

Fenêtre de terminal
sudo apt update
sudo apt install php-cli
php --version
php -m # extensions chargées
Fenêtre de terminal
sudo apt install php-fpm
systemctl status php8.3-fpm # 24.04
systemctl status php8.5-fpm # 26.04

Le nom du service contient la version : l’obtenir avec systemctl list-units 'php*-fpm*'. Pour la suite, voir PHP-FPM et serveur web.

Fenêtre de terminal
sudo apt install php-mbstring php-xml php-curl php-zip php-gd php-intl php-bcmath php-sqlite3 php-mysql php-pgsql
Paquet Fournit
php-mbstring Chaînes multi-octets (UTF-8)
php-xml DOM, SimpleXML, XMLWriter
php-curl Requêtes HTTP
php-zip Archives ZIP
php-gd Images
php-intl Internationalisation
php-bcmath Calcul à précision arbitraire
php-mysql MySQL et MariaDB (PDO et mysqli)
php-pgsql PostgreSQL
php-sqlite3 SQLite

Vérifier : php -m | grep -i mysql. Après l’ajout d’une extension, recharger PHP-FPM (sudo systemctl reload php8.3-fpm).

Pour une version plus récente ou plus ancienne que celle d’Ubuntu, le dépôt PPA ondrej/php (maintenu par un mainteneur Debian/Ubuntu, tiers) fournit plusieurs versions en parallèle :

Fenêtre de terminal
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.4-cli php8.4-fpm

Choisir la version utilisée en ligne de commande :

Fenêtre de terminal
sudo update-alternatives --config php
php8.4 --version # appel direct d'une version précise

Chaque version a ses propres fichiers (/etc/php/8.4/) et son service (php8.4-fpm). Un PPA est un dépôt tiers : l’ajouter en connaissance de cause.

Chemin Rôle
/etc/php/<version>/cli/php.ini Configuration de la ligne de commande
/etc/php/<version>/fpm/php.ini Configuration de PHP-FPM (web)
/etc/php/<version>/fpm/pool.d/www.conf Pool PHP-FPM
/etc/php/<version>/mods-available/ Fichiers d’activation des extensions
/run/php/php<version>-fpm.sock Socket du service

La ligne de commande et le web ont deux php.ini distincts : une modification pour le site se fait dans fpm/php.ini.

Fenêtre de terminal
sudo apt update && sudo apt upgrade
sudo apt purge 'php8.3*' # supprime la version et sa configuration
sudo apt autoremove
Symptôme Piste
php: command not found php-cli non installé
Extension absente du site mais présente en CLI php.ini distincts ; recharger PHP-FPM ; vérifier avec phpinfo() dans une page du site
Unable to locate package php8.4-fpm Version non fournie par Ubuntu : utiliser le PPA
Apache s’installe avec php Installer php-cli / php-fpm à la place

Ubuntu 24.04 et 26.04 : différences à connaître

Section intitulée « Ubuntu 24.04 et 26.04 : différences à connaître »

PHP 8.3 contre 8.5 : plusieurs fonctions et comportements sont dépréciés ou retirés entre 8.3 et 8.5. Avant de migrer une application, lire le guide de migration officiel (php.net/manual/fr/appendices.php) et activer error_reporting = E_ALL pour repérer les avertissements de dépréciation. Le numéro de version dans les noms de service et de dossier (php8.3, php8.5) change : utiliser php-fpm sans version dans les scripts d’installation.