15%

Économisez 15% sur tous les services d'hébergement

Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

Utilisez le code :

Skills
Commencer
01.11.2024

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

  1. Pourquoi la gestion des versions PHP est importante
  2. Comprendre les versions PHP et la compatibilité
  3. Méthode 1 : Changer la version PHP via cPanel (MultiPHP Manager)
  4. Méthode 2 : Changer la version PHP via .htaccess (Apache)
  5. Méthode 3 : Changer la version PHP via la ligne de commande (VPS/Serveurs dédiés)
  6. Méthode 4 : Changer la version PHP via php.ini
  7. Comment vérifier votre version PHP active
  8. Erreurs courantes après le changement de versions PHP
  9. Meilleures pratiques pour la gestion des versions PHP
  10. 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 :

ComposantExempleSignification
Major8Changements architecturaux importants, changements de rupture possibles
Minor8.2Nouvelles fonctionnalités, améliorations rétro-compatibles
Patch8.2.10Corrections 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 PHPStatutRemarques
PHP 8.3Support actifDernière version stable
PHP 8.2Support actifRecommandé pour la plupart des applications
PHP 8.1Sécurité uniquementToujours largement utilisé
PHP 8.0EOLÀ éviter — aucun correctif de sécurité
PHP 7.4EOLSupport hérité uniquement
PHP 7.3 et inférieurEOLFortement 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

  1. Ouvrez votre navigateur et accédez à votre URL de connexion cPanel :
    https://yourdomain.com:2083 (sécurisé, recommandé)
    https://yourdomain.com/cpanel
  • Ou l’IP directe : https://your-server-ip:2083
    1. Entrez votre nom d’utilisateur cPanel et mot de passe.
    2. Cliquez sur Se connecter.

    Étape 2 : Ouvrez MultiPHP Manager

    1. Dans le tableau de bord cPanel, faites défiler jusqu’à la section Logiciels.
    2. 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 :

    1. Vous verrez une liste de tous les domaines et sous-domaines hébergés sur votre compte.
    2. Cochez la case à côté du domaine que vous souhaitez modifier.
    3. Dans la liste déroulante Version PHP en haut de la page, sélectionnez votre version PHP souhaitée (par exemple, PHP 8.2).
    4. 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 :

    1. Retournez à la section Logiciels dans cPanel.
    2. Cliquez sur MultiPHP INI Editor.
    3. Sélectionnez votre domaine dans la liste déroulante.
    4. 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 .php

      Pour PHP 8.1 :

      AddHandler application/x-httpd-php81 .php

      Pour PHP 7.4 (hérité) :

      AddHandler application/x-httpd-php74 .php

      Syntaxe 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 php

      Le 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 nginx

      CentOS / 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 --version

      Basculement 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-fpm

      Ensuite, 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é

      1. Créez un fichier nommé php.ini dans le répertoire racine de votre site Web (public_html).
      2. 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()

      1. Créez un nouveau fichier nommé phpinfo.php dans votre répertoire racine Web (public_html).
      2. Ajoutez le contenu suivant :
      <?php
      phpinfo();
      ?>
      1. Accédez à https://yourdomain.com/phpinfo.php dans votre navigateur.
      2. 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 -v

      Sortie 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 Technologies

      Mé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 :

      1. Allez à Outils → Santé du site.
      2. Cliquez sur l’onglet Infos.
      3. Développez la section Serveur.
      4. 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.log pour 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 AddHandler dans .htaccess.
      • Vérifiez le journal des erreurs de votre serveur : tail -f /var/log/apache2/error.log ou tail -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 nginx

      Erreur 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 apache2 ou sudo systemctl restart nginx.
      • Confirmez que vous modifiez le fichier .htaccess ou 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.

      3. Auditez vos plugins et dépendances avant

      15%

      Économisez 15% sur tous les services d'hébergement

      Testez vos compétences et obtenez Réduction sur tout plan d'hébergement

      Utilisez le code :

      Skills
      Commencer