Comment Changer la Version PHP sur Votre Environnement d’Hébergement (Guide Complet)
Gérer 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 fassiez une mise à niveau pour bénéficier des dernières améliorations de performance, une rétrogradation pour la compatibilité des applications héritées, ou un correctif pour 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.
1. Pourquoi la gestion des versions PHP est importante
PHP alimente plus de 77% de tous les sites web avec un langage côté serveur connu, y compris les grandes plateformes comme WordPress, Joomla, Drupal et Magento. Chaque version majeure de PHP introduit des changements significatifs :
- 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 finissent par atteindre 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 ne pas fonctionner sur les versions plus récentes.
- Conformité d’hébergement : De nombreux fournisseurs d’hébergement imposent 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. Savoir comment contrôler ce paramètre — quel que soit votre type d’hébergement — est indispensable pour tout administrateur web sérieux.
2. Comprendre les versions PHP et la compatibilité
Avant d’apporter des modifications, il est important de comprendre le cycle de vie des versions PHP et la structure des versions.
Numérotation des versions PHP
PHP suit un schéma de versioning MAJEURE.MINEURE.CORRECTIF :
| Composant | Exemple | Signification |
|---|---|---|
| Majeure | 8 | Changements architecturaux importants, changements incompatibles possibles |
| Mineure | 8.2 | Nouvelles fonctionnalités, améliorations rétrocompatibles |
| Correctif | 8.2.10 | Corrections de bogues et correctifs de sécurité uniquement |
Cycle de vie du support PHP
Chaque version mineure de PHP reçoit :
- Support actif pendant environ 2 ans (corrections de bogues + 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ée pour la plupart des applications |
| PHP 8.1 | Sécurité uniquement | Toujours largement utilisée |
| PHP 8.0 | EOL | À éviter — aucun correctif de sécurité |
| PHP 7.4 | EOL | Support hérité uniquement |
| PHP 7.3 et versions antérieures | 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 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 sont disponibles pour vous.
Étape 1 : Se connecter à 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 : Ouvrir MultiPHP Manager
- Dans le tableau de bord cPanel, faites défiler jusqu’à la section Logiciels.
- Cliquez sur MultiPHP Manager.
> Alternative : Certaines configurations cPanel l’appellent 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 différer légèrement, mais le processus est le même.
Étape 3 : Sélectionner votre domaine et 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 Hébergement VPS où vous avez un contrôle total sur les versions PHP installées.
Étape 4 : (Optionnel) Personnaliser les paramètres PHP via MultiPHP INI Editor
Après avoir changé 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érifier la modification
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 : Modification de la version PHP via .htaccess (Apache)
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 .htaccess fichier. Cette méthode est particulièrement utile sur les plans d’hébergement web partagé où l’accès au niveau du serveur est restreint.
Comment cela fonctionne
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ébergeurs) :
# 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ébergeur 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)
Si vous gérez vos propres Serveurs dédiés ou un VPS avec accès root, vous avez un contrôle complet sur l’installation de PHP et le changement de version. C’est la méthode la plus puissante et la plus flexible.
Prérequis
- 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 de PHP simultanément.
Étape 1 : Ajouter le référentiel PHP d’Ondřej Surý
Ce PPA fournit plusieurs versions de 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 : Installer 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 : Changer 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 : Changer 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 : Changer 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 --versionChangement 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 : Modification de la version PHP via php.ini
Dans certains environnements d’hébergement, en particulier ceux utilisant les gestionnaires PHP CGI ou FastCGI, vous pouvez influencer le comportement de 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
Après avoir apporté des modifications, vérifiez toujours que la bonne version PHP est active. Il existe plusieurs façons de le faire :
Méthode A : Créer 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érifier via la ligne de commande (SSH)
php --version
# or
php -vRésultat attendu :
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érifier via un script PHP simple
Pour une vérification moins détaillée, utilisez ce script minimal au lieu du complet phpinfo() :
<?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érifier via l’administration WordPress (pour les sites WordPress)
Dans votre tableau de bord WordPress :
- Allez à Outils → État du site.
- Cliquez sur l’onglet Infos.
- Développez la section Serveur.
- Recherchez Version PHP.
8. Erreurs courantes après le changement de version PHP
Le changement de version 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 du code personnalisé utilise une syntaxe ou des fonctions incompatibles avec la nouvelle version PHP.
Solution :
- Activez le mode 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 interne du serveur 500
Cause : Souvent causée par un gestionnaire PHP incorrect 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 indé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 PHP et supprimées dans les 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 temporairement sur une version PHP compatible pendant que vous planifiez la mise à niveau.
Erreur 5 : 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 :
- Videz 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 bon
.htaccessou fichier de configuration pour le bon domaine.
9. Meilleures pratiques pour la gestion des versions PHP
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 détail avant d’appliquer les modifications à la production.
2. Maintenez 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 en fin de vie est l’une des causes les plus courantes de compromission de sites Web.
3. Auditez vos plugins et dépendances avant la mise à niveau
Avant de mettre à niveau PHP, vérifiez la compatibilité de :
- Tous les plugins et thèmes CMS installés
- Les dépendances Composer (
composer.json) - Le code d’application personnalisé
Utilisez des outils comme PHPCompatibility (un ensemble de règles PHP_CodeSniffer) pour analyser votre base de code à la recherche de problèmes de compatibilité.
4. Maintenez les extensions PHP synchronisées
Lors du changement de versions PHP, réinstallez toujours toutes les extensions requises pour la nouvelle version. Une extension manquante est la cause la plus courante d’erreurs après la mise à niveau.
5. Utilisez le contrôle de version pour les fichiers de configuration
Stockez vos fichiers .htaccess, php.ini et de configuration du serveur dans un référentiel Git. Cela facilite l’annulation des modifications en cas de problème.
6. Surveillez après le changement
Après avoir changé les versions PHP, surveillez :
- Les journaux d’erreurs de l’application
- Les journaux d’erreurs du serveur (
/var/log/apache2/error.log,/var/log/nginx/error.log) - Les métriques de performance de l’application
- Les alertes de surveillance de disponibilité
7. Choisissez le bon hébergement pour la flexibilité PHP
Si vous vous trouvez constamment limité par les options PHP de votre environnement d’hébergement, il est peut-être temps de passer à un niveau supérieur. Les plans Hébergement Web Partagé offrent un ensemble organisé de versions PHP gérées par le fournisseur, tandis que Hébergement VPS vous donne la liberté complète d’installer, configurer et basculer n’importe quelle version PHP à tout moment. Pour un contrôle et une performance de niveau entreprise, Serveurs Dédiés offrent la flexibilité ultime.
10. Conclusion
Changer votre version PHP est une tâche fondamentale de gestion d’hébergement qui impacte directement la sécurité, les performances et la compatibilité de votre site web. Que vous utilisiez le MultiPHP Manager de cPanel, que vous éditiez des directives .htaccess, ou que vous gériez les installations PHP via la ligne de commande sur un VPS ou un serveur dédié, les principes clés restent les mêmes : testez avant de déployer, vérifiez après chaque modification, et maintenez toujours votre version PHP dans le cycle de vie activement supporté.
Voici un résumé rapide des méthodes couvertes :
| Méthode | Idéale pour | Accès requis |
|---|---|---|
| cPanel MultiPHP Manager | Hébergement mutualisé, VPS cPanel | Connexion cPanel |
| Directive .htaccess | Hébergement mutualisé basé sur Apache | Gestionnaire de fichiers / FTP |
update-alternatives (Ubuntu/Debian) | VPS, serveurs dédiés | SSH root/sudo |
| Référentiel SCL / Remi (CentOS/RHEL) | VPS, serveurs dédiés | SSH root/sudo |
| php.ini personnalisé | Environnements CGI/FastCGI | Gestionnaire de fichiers / FTP |
Si vous recherchez un environnement d’hébergement qui rend la gestion des versions PHP simple et vous donne le contrôle dont vous avez besoin, explorez les plans d’hébergement VPS d’AlexHost — offrant un accès root complet, plusieurs distributions Linux, et la flexibilité d’exécuter n’importe quelle version PHP que vos applications nécessitent. Vous pouvez également explorer notre gamme de panneaux de contrôle VPS pour trouver l’interface de gestion qui convient le mieux à votre flux de travail.
Restez proactif avec vos mises à jour PHP, et vos sites web resteront rapides, sécurisés et compatibles pendant des années.
sur tous les services d'hébergement