Comment changer la version de PHP sur votre environnement d’hébergement (Guide complet)
La gestion de votre version PHP est l’une des tâches administratives les plus critiques pour tout propriétaire de site Web ou développeur. Que vous mettiez à niveau pour tirer parti des dernières améliorations de performance, que vous rétrogradiez pour la compatibilité des applications héritées ou que vous corrigiez les vulnérabilités de sécurité, savoir exactement comment basculer les versions PHP dans différents environnements d’hébergement est une compétence essentielle. Ce guide complet vous guide à travers chaque méthode disponible — de l’interface graphique de cPanel aux outils en ligne de commande sur VPS Hosting et les serveurs dédiés.
Table des matières
- Pourquoi la gestion des versions PHP est importante
- Comprendre les versions PHP et la compatibilité
- Méthode 1 : Changer la version PHP via cPanel (MultiPHP Manager)
- Méthode 2 : Changer la version PHP via .htaccess (Apache)
- Méthode 3 : Changer la version PHP via la ligne de commande (VPS/Serveurs dédiés)
- Méthode 4 : Changer la version PHP via php.ini
- Comment vérifier votre version PHP active
- Erreurs courantes après le changement de versions PHP
- Meilleures pratiques pour la gestion des versions PHP
- Conclusion
1. Pourquoi la gestion des versions PHP est importante {#why-it-matters}
PHP alimente plus de 77 % de tous les sites Web avec un langage côté serveur connu, y compris les grandes plates-formes comme WordPress, Joomla, Drupal et Magento. Chaque version majeure de PHP introduit des changements importants :
- Gains de performance : PHP 8.x est considérablement plus rapide que PHP 5.x ou 7.x, grâce au compilateur JIT (Just-In-Time).
- Correctifs de sécurité : Les anciennes versions de PHP atteignent finalement la fin de vie (EOL) et ne reçoivent plus de mises à jour de sécurité, laissant votre site exposé.
- Compatibilité des applications : Certains anciens plugins, thèmes ou applications personnalisées ont été écrits pour des versions PHP spécifiques et peuvent se casser sur les versions plus récentes.
- Conformité d’hébergement : De nombreux fournisseurs d’hébergement appliquent des exigences de version PHP minimale pour maintenir les normes de sécurité du serveur.
Ne pas gérer votre version PHP de manière proactive peut entraîner des dysfonctionnements, des failles de sécurité ou un arrêt complet du site Web. Comprendre comment contrôler ce paramètre — quel que soit votre type d’hébergement — est non négociable pour tout administrateur Web sérieux.
2. Comprendre les versions PHP et la compatibilité {#understanding-versions}
Avant de faire des modifications, il est important de comprendre le cycle de vie de la version PHP et la façon dont les versions sont structurées.
Numérotation des versions PHP
PHP suit un schéma de versioning MAJOR.MINOR.PATCH :
| Composant | Exemple | Signification |
|---|---|---|
| Major | 8 | Changements architecturaux importants, changements de rupture possibles |
| Minor | 8.2 | Nouvelles fonctionnalités, améliorations rétro-compatibles |
| Patch | 8.2.10 | Corrections de bugs et correctifs de sécurité uniquement |
Cycle de support PHP
Chaque version mineure de PHP reçoit :
- Support actif pendant environ 2 ans (corrections de bugs + correctifs de sécurité)
- Support de sécurité uniquement pendant 1 année supplémentaire
- Fin de vie (EOL) après laquelle aucun correctif n’est publié
Versions PHP actuellement supportées (à partir de 2024–2025)
| Version PHP | Statut | Remarques |
|---|---|---|
| PHP 8.3 | Support actif | Dernière version stable |
| PHP 8.2 | Support actif | Recommandé pour la plupart des applications |
| PHP 8.1 | Sécurité uniquement | Toujours largement utilisé |
| PHP 8.0 | EOL | À éviter — aucun correctif de sécurité |
| PHP 7.4 | EOL | Support hérité uniquement |
| PHP 7.3 et inférieur | EOL | Fortement déconseillé |
> Règle générale : Exécutez toujours la version PHP la plus élevée que votre application supporte officiellement. Si votre CMS ou framework supporte PHP 8.2, il n’y a aucune raison d’exécuter PHP 7.4.
3. Méthode 1 : Changer la version PHP via cPanel (MultiPHP Manager) {#cpanel-method}
cPanel est le panneau de contrôle d’hébergement le plus largement utilisé, et il fournit deux outils intégrés pour la gestion des versions PHP : MultiPHP Manager (à l’échelle du serveur ou par domaine) et MultiPHP INI Editor (pour affiner les paramètres PHP). Si vous utilisez un VPS avec cPanel, les deux outils vous sont disponibles.
Étape 1 : Connectez-vous à cPanel
- Ouvrez votre navigateur et accédez à votre URL de connexion cPanel :
https://yourdomain.com:2083 (sécurisé, recommandé)
https://yourdomain.com/cpanelhttps://your-server-ip:2083- Entrez votre nom d’utilisateur cPanel et mot de passe.
- Cliquez sur Se connecter.
Étape 2 : Ouvrez MultiPHP Manager
- Dans le tableau de bord cPanel, faites défiler jusqu’à la section Logiciels.
- Cliquez sur MultiPHP Manager.
> Alternative : Certaines configurations cPanel l’étiquettent comme Sélectionner la version PHP, Configuration PHP ou Sélecteur PHP (ce dernier est courant avec l’hébergement partagé basé sur CloudLinux). L’interface peut être légèrement différente, mais le processus est le même.
Étape 3 : Sélectionnez votre domaine et votre version PHP
Dans l’interface MultiPHP Manager :
- Vous verrez une liste de tous les domaines et sous-domaines hébergés sur votre compte.
- Cochez la case à côté du domaine que vous souhaitez modifier.
- Dans la liste déroulante Version PHP en haut de la page, sélectionnez votre version PHP souhaitée (par exemple,
PHP 8.2). - Cliquez sur Appliquer.
> Important : Si vous êtes sur un compte d’hébergement partagé, les versions PHP disponibles sont déterminées par votre fournisseur d’hébergement. Si vous avez besoin d’une version qui n’est pas répertoriée, contactez l’équipe d’assistance de votre hôte ou envisagez de passer à un plan VPS Hosting où vous avez un contrôle total sur les versions PHP installées.
Étape 4 : (Facultatif) Personnalisez les paramètres PHP via MultiPHP INI Editor
Après le changement de version, vous devrez peut-être ajuster les valeurs de configuration PHP :
- Retournez à la section Logiciels dans cPanel.
- Cliquez sur MultiPHP INI Editor.
- Sélectionnez votre domaine dans la liste déroulante.
- Modifiez les valeurs telles que :
memory_limit (par exemple, 256M)
upload_max_filesize (par exemple, 64M)
max_execution_time (par exemple, 300)
post_max_size (par exemple, 64M)
Cliquez sur Appliquer pour enregistrer les modifications.
Étape 5 : Vérifiez le changement
Créez un fichier de test pour confirmer la version PHP active (voir la section 7 pour les instructions complètes).
4. Méthode 2 : Changer la version PHP via .htaccess (Apache) {#htaccess-method}
Si votre environnement d’hébergement exécute Apache mais ne fournit pas de sélecteur PHP graphique, vous pouvez contrôler la version PHP directement via votre fichier .htaccess. Cette méthode est particulièrement utile sur les plans Shared Web Hosting où l’accès au niveau du serveur est restreint.
Comment ça marche
Apache utilise des gestionnaires pour déterminer comment les fichiers .php sont traités. En spécifiant un gestionnaire personnalisé dans .htaccess, vous demandez à Apache d’utiliser une version PHP spécifique pour votre site.
Étape 1 : Accédez à votre fichier .htaccess
Vous pouvez modifier .htaccess via :
Gestionnaire de fichiers cPanel : Accédez à public_html, trouvez .htaccess, cliquez avec le bouton droit et sélectionnez Modifier.
Client FTP/SFTP : Connectez-vous à votre serveur et accédez à votre racine Web (généralement public_html ou www).
Ligne de commande SSH : nano /home/username/public_html/.htaccess> Remarque : .htaccess est un fichier caché. Dans votre client FTP, activez « Afficher les fichiers cachés ». Dans le gestionnaire de fichiers cPanel, cochez « Afficher les fichiers cachés (dotfiles) » dans les paramètres en haut à droite.
Étape 2 : Ajoutez la directive du gestionnaire PHP
Ajoutez l’une des lignes suivantes à votre fichier .htaccess, selon la convention de nommage du gestionnaire PHP de votre serveur :
Pour PHP 8.2 :
AddHandler application/x-httpd-php82 .phpPour PHP 8.1 :
AddHandler application/x-httpd-php81 .phpPour PHP 7.4 (hérité) :
AddHandler application/x-httpd-php74 .phpSyntaxe alternative (utilisée sur certains hôtes) :
# Using suPHP or FastCGI
Action php-cgi /cgi-bin/php82
AddHandler php-cgi .php> Important : Le nom exact du gestionnaire (x-httpd-php82, x-httpd-php81, etc.) dépend de la façon dont votre fournisseur d’hébergement a configuré PHP sur ses serveurs. Si ce qui précède ne fonctionne pas, consultez la documentation de votre hôte ou contactez le support pour connaître les noms de gestionnaires corrects.
Étape 3 : Enregistrez et testez
Enregistrez le fichier .htaccess et testez votre site. Si vous voyez une erreur 500 Erreur interne du serveur, le nom du gestionnaire est probablement incorrect — supprimez la ligne et essayez une syntaxe alternative.
5. Méthode 3 : Changer la version PHP via la ligne de commande (VPS/Serveurs dédiés) {#cli-method}
Si vous gérez vos propres Dedicated Servers ou un VPS avec accès root, vous avez un contrôle total sur l’installation et le changement de version PHP. C’est la méthode la plus puissante et la plus flexible.
Conditions préalables
- Accès root ou sudo à votre serveur
- Client SSH (Terminal sur macOS/Linux, PuTTY ou Windows Terminal sur Windows)
- Familiarité de base avec les opérations en ligne de commande Linux
Ubuntu / Debian — Utilisation de update-alternatives
Les systèmes basés sur Ubuntu et Debian utilisent le système update-alternatives pour gérer plusieurs versions PHP simultanément.
#### Étape 1 : Ajoutez le référentiel PHP d’Ondřej Surý
Ce PPA fournit plusieurs versions PHP pour Ubuntu/Debian :
sudo apt update
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt update#### Étape 2 : Installez la version PHP souhaitée
# Install PHP 8.2 and common extensions
sudo apt install -y php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl
php8.2-gd php8.2-mbstring php8.2-xml php8.2-zip php8.2-bcmath
# Install PHP 8.1 if needed
sudo apt install -y php8.1 php8.1-cli php8.1-fpm php8.1-mysql#### Étape 3 : Basculez la version PHP par défaut (CLI)
# View all registered PHP alternatives
sudo update-alternatives --list php
# Switch to PHP 8.2
sudo update-alternatives --set php /usr/bin/php8.2
# Or use the interactive selector
sudo update-alternatives --config phpLe sélecteur interactif affichera quelque chose comme :
There are 3 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.1 81 manual mode
3 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:Entrez le numéro correspondant à votre version souhaitée et appuyez sur Entrée.
#### Étape 4 : Basculez la version PHP pour Apache (mod_php)
# Disable current PHP module (e.g., PHP 8.1)
sudo a2dismod php8.1
# Enable new PHP module (e.g., PHP 8.2)
sudo a2enmod php8.2
# Restart Apache
sudo systemctl restart apache2#### Étape 5 : Basculez la version PHP pour Nginx (PHP-FPM)
Pour Nginx, PHP est géré via PHP-FPM. Mettez à jour votre bloc serveur Nginx pour pointer vers le socket FPM correct :
# In your Nginx server block configuration
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}Ensuite, redémarrez PHP-FPM et Nginx :
sudo systemctl restart php8.2-fpm
sudo systemctl restart nginxCentOS / RHEL / AlmaLinux / Rocky Linux — Utilisation du référentiel SCL ou Remi
#### Option A : Utilisation de Software Collections (SCL) — CentOS 7
# Install the SCL repository
sudo yum install -y centos-release-scl
# Install PHP 7.4 via SCL
sudo yum install -y rh-php74 rh-php74-php-fpm rh-php74-php-mysqlnd
# Enable PHP 7.4 for the current session
sudo scl enable rh-php74 bash
# Verify
php --version> Remarque : Les modifications SCL sont spécifiques à la session. Pour les rendre permanentes pour un utilisateur, ajoutez source /opt/rh/rh-php74/enable à ~/.bashrc.
#### Option B : Utilisation du référentiel Remi — CentOS 7/8, AlmaLinux, Rocky Linux
# Install EPEL and Remi repositories
sudo dnf install -y epel-release
sudo dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm # For RHEL 8/AlmaLinux 8
# List available PHP streams
sudo dnf module list php
# Reset current PHP module
sudo dnf module reset php
# Enable PHP 8.2 stream
sudo dnf module enable php:remi-8.2
# Install PHP 8.2
sudo dnf install -y php php-cli php-fpm php-mysqlnd php-gd php-mbstring php-xml php-zip
# Verify
php --versionBasculement de PHP pour les sites individuels (version PHP par site)
Sur les serveurs exécutant plusieurs sites Web, vous avez souvent besoin de versions PHP différentes par site. L’approche la plus propre consiste à exécuter plusieurs pools PHP-FPM :
# Start PHP-FPM for multiple versions
sudo systemctl start php7.4-fpm
sudo systemctl start php8.1-fpm
sudo systemctl start php8.2-fpmEnsuite, configurez chaque hôte virtuel Nginx pour utiliser un socket FPM différent :
# Site A — PHP 8.2
server {
server_name site-a.com;
root /var/www/site-a;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
}
# Site B — PHP 7.4 (legacy application)
server {
server_name site-b.com;
root /var/www/site-b;
location ~ .php$ {
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}6. Méthode 4 : Changer la version PHP via php.ini {#phpini-method}
Dans certains environnements d’hébergement, en particulier ceux utilisant les gestionnaires PHP CGI ou FastCGI, vous pouvez influencer le comportement PHP — et parfois même la version — via un fichier php.ini personnalisé placé dans le répertoire racine de votre site Web.
Création d’un php.ini personnalisé
- Créez un fichier nommé
php.inidans le répertoire racine de votre site Web (public_html). - Ajoutez vos directives de configuration :
; Custom PHP configuration
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_vars = 3000
date.timezone = "UTC"> Remarque : Cette méthode contrôle les *paramètres* PHP, pas nécessairement la *version* PHP elle-même. La sélection de version via php.ini n’est possible que sur des configurations d’hébergement spécifiques. Pour un contrôle complet de la version, utilisez cPanel, .htaccess ou les méthodes en ligne de commande décrites ci-dessus.
7. Comment vérifier votre version PHP active {#verify}
Après avoir apporté des modifications, vérifiez toujours que la version PHP correcte est active. Il existe plusieurs façons de le faire :
Méthode A : Créez une page de test phpinfo()
- Créez un nouveau fichier nommé
phpinfo.phpdans votre répertoire racine Web (public_html). - Ajoutez le contenu suivant :
<?php
phpinfo();
?>- Accédez à
https://yourdomain.com/phpinfo.phpdans votre navigateur. - La page affichera des informations complètes sur la configuration PHP. La version PHP est affichée en haut.
> Avertissement de sécurité : Supprimez ce fichier immédiatement après le test. La sortie phpinfo() révèle des détails sensibles de la configuration du serveur qui pourraient aider les attaquants.
Méthode B : Vérifiez via la ligne de commande (SSH)
php --version
# or
php -vSortie attendue :
PHP 8.2.10 (cli) (built: Sep 5 2023 08:12:49) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
with Zend OPcache v8.2.10, Copyright (c), by Zend TechnologiesMéthode C : Vérifiez via un simple script PHP
Pour une vérification moins détaillée, utilisez ce script minimal au lieu du phpinfo() complet :
<?php
echo 'PHP Version: ' . PHP_VERSION;
echo '<br>PHP Major Version: ' . PHP_MAJOR_VERSION;
echo '<br>PHP Minor Version: ' . PHP_MINOR_VERSION;
?>Méthode D : Vérifiez via l’administrateur WordPress (pour les sites WordPress)
Dans votre tableau de bord WordPress :
- Allez à Outils → Santé du site.
- Cliquez sur l’onglet Infos.
- Développez la section Serveur.
- Recherchez Version PHP.
8. Erreurs courantes après le changement de versions PHP {#common-errors}
Le changement de versions PHP peut parfois causer des problèmes. Voici les problèmes les plus courants et comment les résoudre :
Erreur 1 : Écran blanc de la mort (WSOD) ou page vierge
Cause : Un plugin, un thème ou un code personnalisé utilise une syntaxe ou des fonctions incompatibles avec la nouvelle version PHP.
Solution :
- Activez le mode de débogage WordPress en ajoutant à
wp-config.php:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);- Vérifiez
/wp-content/debug.logpour les messages d’erreur spécifiques. - Désactivez tous les plugins et passez à un thème par défaut pour isoler le problème.
Erreur 2 : Erreur 500 Erreur interne du serveur
Cause : Souvent causée par une directive PHP incorrecte dans .htaccess, ou une extension PHP qui n’est pas installée pour la nouvelle version.
Solution :
- Supprimez ou corrigez la directive
AddHandlerdans.htaccess. - Vérifiez le journal des erreurs de votre serveur :
tail -f /var/log/apache2/error.logoutail -f /var/log/nginx/error.log. - Assurez-vous que les extensions PHP requises sont installées pour la nouvelle version.
Erreur 3 : « Appel à une fonction non définie » ou « Classe non trouvée »
Cause : Une extension PHP requise par votre application (par exemple, php-gd, php-mbstring, php-xml) n’est pas installée pour la nouvelle version PHP.
Solution :
# Ubuntu/Debian — install missing extensions for PHP 8.2
sudo apt install php8.2-gd php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip
# Restart web server
sudo systemctl restart apache2 # or nginxErreur 4 : Avertissements de fonction dépréciée
Cause : Votre code utilise des fonctions qui ont été dépréciées dans les anciennes versions de PHP et supprimées dans les versions plus récentes (par exemple, les fonctions mysql_* supprimées dans PHP 7.0).
Solution :
- Mettez à jour votre code ou vos plugins pour utiliser des équivalents modernes (par exemple,
mysqli_*ou PDO). - Si les modifications de code immédiates ne sont pas possibles, envisagez de rester sur une version PHP compatible temporairement pendant que vous planifiez la mise à niveau.
Erreur 5 : La version PHP ne change pas malgré le suivi des étapes
Cause : Plusieurs configurations PHP peuvent être en vigueur (par exemple, CLI vs serveur Web), ou la mise en cache sert des réponses anciennes.
Solution :
- Effacez le cache de votre navigateur et tous les caches côté serveur (OPcache, Redis, Varnish).
- Redémarrez votre serveur Web :
sudo systemctl restart apache2ousudo systemctl restart nginx. - Confirmez que vous modifiez le fichier
.htaccessou le fichier de configuration correct pour le bon domaine.
9. Meilleures pratiques pour la gestion des versions PHP {#best-practices}
Suivez ces directives pour maintenir un environnement PHP sain, sécurisé et performant :
1. Testez toujours dans un environnement de staging en premier
Ne changez jamais les versions PHP directement sur un site de production en direct. Configurez un environnement de staging — soit un sous-domaine, soit un serveur séparé — et testez votre application en profondeur avant d’appliquer les modifications à la production.
2. Gardez PHP à jour
Abonnez-vous aux annonces de sécurité officielles de PHP et planifiez les mises à niveau avant que votre version actuelle n’atteigne la fin de vie. L’exécution de versions PHP EOL est l’une des causes les plus courantes de compromis de sites Web.
