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.
Versions fournies par Ubuntu
Section intitulée « Versions fournies par Ubuntu »| 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).
Installer
Section intitulée « Installer »En ligne de commande uniquement
Section intitulée « En ligne de commande uniquement »sudo apt updatesudo apt install php-cliphp --versionphp -m # extensions chargéesPour un serveur web (Nginx, Caddy)
Section intitulée « Pour un serveur web (Nginx, Caddy) »sudo apt install php-fpmsystemctl status php8.3-fpm # 24.04systemctl status php8.5-fpm # 26.04Le nom du service contient la version : l’obtenir avec systemctl list-units 'php*-fpm*'. Pour la suite, voir PHP-FPM et serveur web.
Extensions courantes
Section intitulée « Extensions courantes »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).
Plusieurs versions
Section intitulée « Plusieurs versions »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 :
sudo apt install software-properties-commonsudo add-apt-repository ppa:ondrej/phpsudo apt updatesudo apt install php8.4-cli php8.4-fpmChoisir la version utilisée en ligne de commande :
sudo update-alternatives --config phpphp8.4 --version # appel direct d'une version préciseChaque 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.
Fichiers et dossiers
Section intitulée « Fichiers et dossiers »| 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.
Mise à jour et désinstallation
Section intitulée « Mise à jour et désinstallation »sudo apt update && sudo apt upgradesudo apt purge 'php8.3*' # supprime la version et sa configurationsudo apt autoremoveDépannage
Section intitulée « Dépannage »| 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.
Pour aller plus loin
Section intitulée « Pour aller plus loin »- Documentation : php.net/manual/fr
- Suite : Premiers pas