« Peux-tu passer le site en PHP 8.2 ? », « On a besoin de PHP 8.3 pour le dernier plugin » : c'est l'un des tickets les plus fréquents chez Datacampus. Bonne nouvelle, vous pouvez le faire vous-même en trente secondes depuis Plesk, sans ouvrir de ticket, sans redémarrage serveur, sans impact sur les autres sites de l'abonnement.
Pourquoi changer de version PHP ?
- Fin de support upstream. Chaque version majeure est supportée deux ans côté bugs, un an de plus en sécurité. Au-delà, plus aucun correctif officiel. PHP 7.4 est EOL depuis fin 2022, PHP 8.0 depuis fin 2023.
- Compatibilité plugin ou thème. De nombreuses extensions WordPress, modules PrestaShop ou librairies Composer exigent désormais PHP 8.1 minimum.
- Performances. Chaque montée de version 8.x apporte un gain mesurable : PHP 8.3 est environ 10 à 15 % plus rapide que PHP 7.4 sur un WordPress moyen, avec une empreinte mémoire plus basse.
- Sécurité. Rester sur une version EOL, c'est cumuler des CVE non corrigées que votre WAF ne peut pas toutes masquer.
Vérifier la version actuellement active
Trois méthodes, à utiliser selon ce que vous avez sous la main.
Dans Plesk
Sites Web & Domaines > votre domaine > Paramètres PHP. La version active est affichée en haut du formulaire, avec le type de handler (FPM application chez nous).
Avec un script temporaire
Créez un fichier version.php à la racine :
<?php echo PHP_VERSION;
Ouvrez https://votre-domaine.fr/version.php, vous obtenez la version exacte (ex : 8.3.12). Supprimez le fichier ensuite. Pour un diagnostic plus complet, <?php phpinfo(); affiche tout — mais c'est sensible, voir l'encart dans la doc Limites PHP.
En SSH
php -v # version du binaire CLI par défaut
php8.3 -v # une version précise
php -v vous montre la version CLI, qui peut différer de celle utilisée par votre site (servi par PHP-FPM). Pour savoir ce qui tourne côté web, fiez-vous à Plesk ou à PHP_VERSION dans un script exécuté par le serveur.
Changer la version depuis Plesk (méthode recommandée)
- Connectez-vous à Plesk.
- Sites Web & Domaines > cliquez sur le domaine concerné.
- Ouvrez Paramètres PHP.
- Dans le menu déroulant Version PHP, choisissez la version cible (ex :
PHP 8.3.x). - Laissez Type de handler sur
FPM application. - Cliquez sur OK.
Le pool PHP-FPM du domaine est rechargé automatiquement. Le nouveau binaire PHP sert le site dès la requête suivante, sans interruption perceptible pour les visiteurs.
Impact sur les autres sites
Aucun. Chaque domaine de votre abonnement a son propre pool PHP-FPM, avec son propre utilisateur Linux et sa propre version PHP. Basculer siteA.fr en PHP 8.3 ne touche pas siteB.fr qui peut rester en 7.4 le temps que son code legacy soit migré. C'est l'un des intérêts majeurs de Plesk en multi-sites.
Vérifier la compatibilité AVANT de basculer
Un passage de 7.4 à 8.x casse du code : fonctions dépréciées supprimées, typage plus strict, str_replace() qui refuse null, etc. Avant de changer, validez la compatibilité.
WordPress
Listez les extensions actives en SSH :
wp plugin list --status=active
Pour chaque extension majeure, vérifiez sur wordpress.org la ligne « Testé jusqu'à PHP » ou consultez le changelog. Mettez à jour le cœur, le thème et toutes les extensions avant de toucher à la version PHP. Un site à jour passe presque toujours sans douleur.
PrestaShop
La matrice officielle prestashop-project.org/fr/compatibility-guide/ indique quelle version PHP est supportée par quelle version du cœur. PrestaShop 8.1+ accepte PHP 8.1 et 8.2 ; PrestaShop 9 ouvre la voie à PHP 8.3. Un 1.7.8 coincé en PHP 7.4 ne montera pas tel quel.
Laravel / Symfony / application Composer
Le fichier composer.json déclare la contrainte :
"require": {
"php": "^8.2"
}
Elle donne la plage acceptée. Un composer check-platform-reqs en SSH confirme que l'environnement correspond.
Application PHP custom
Première passe rapide, un lint syntaxique sur tous les fichiers :
find . -name '*.php' -print0 | xargs -0 -n1 php8.3 -l | grep -v 'No syntax errors'
Pour aller plus loin, un analyseur statique comme PHPStan ou un outil de refactoring comme Rector détectent les usages dépréciés et proposent les corrections.
Tester sur préprod d'abord
Règle d'or : on ne change pas la version PHP d'un site de production sans l'avoir essayée ailleurs. Si vous n'avez pas encore d'environnement de préprod, la doc Copier la prod vers la préprod vous monte ça en quelques minutes. Vous basculez la préprod, vous parcourez les pages clés (admin, tunnel de commande, formulaires), et seulement après vous touchez à la prod.
Si ça casse, retour arrière immédiat
Toutes les versions PHP restent disponibles en parallèle sur nos serveurs. En cas de site blanc ou d'erreurs 500 après le basculement :
- Paramètres PHP du domaine.
- Sélectionnez la version précédente dans le menu déroulant.
- OK. Le site repart sur l'ancienne version, le temps de corriger le code.
Aucun dump, aucune manipulation de fichier. C'est un des gros avantages de PHP-FPM multi-pool.
Ajuster aussi les directives php.ini par domaine
L'onglet Paramètres PHP ne fait pas que choisir une version. La section Performance and security settings vous permet de modifier memory_limit, max_execution_time, upload_max_filesize, post_max_size, max_input_vars, et les paramètres opcache.*, sans toucher au php.ini global du serveur. Chaque valeur ne s'applique qu'à ce domaine. Voir la doc Limites PHP pour les valeurs conseillées par CMS.
php-ioncube, besoin d'une extension PECL non standard ? Ouvrez un ticket en expliquant l'usage. Si la demande est légitime et reproductible, on l'ajoute.
Check-list avant bascule
- Sauvegarde récente du site et de la base (Plesk > Sauvegarde & Restauration).
- Core, thème et extensions à jour.
- Compatibilité validée dans la doc de chaque composant majeur.
- Bascule testée sur préprod, parcours clés OK.
- Fenêtre horaire calme, pas au milieu d'une opé commerciale.
- Plan de retour arrière clair (version précédente, versions disponibles).
Avec ces points cochés, la bascule prend trente secondes et vous rend un site plus rapide, plus sûr, et compatible avec les outils modernes.