On parle beaucoup de la fin de vie de Drupal 10, beaucoup moins de celle de PHP 8.2. Pourtant, le langage qui fait tourner votre site perd lui aussi son support de sécurité le 31 décembre 2026. Et c'est souvent lui qui déclenche les incidents les plus inattendus.

Le calendrier des versions de PHP

Chaque version de PHP est maintenue trois ans et demi environ : deux ans de corrections actives, puis un an et demi de correctifs de sécurité uniquement.

Version Fin du support de sécurité
PHP 8.1 31 décembre 2025 (terminé)
PHP 8.2 31 décembre 2026
PHP 8.3 31 décembre 2027
PHP 8.4 31 décembre 2028

Au-delà de ces dates, les failles découvertes dans PHP lui-même ne sont plus corrigées. Et les hébergeurs finissent par retirer les anciennes versions de leur offre, parfois avec un préavis très court.

Quels sites sont concernés ?

  • Drupal 10 fonctionne à partir de PHP 8.1 : beaucoup de sites Drupal 10 tournent encore en 8.1 ou 8.2. Ils cumulent donc deux fins de vie à quelques semaines d'intervalle.
  • Drupal 11 demande au minimum PHP 8.3 : un site déjà en Drupal 11 est a priori sur une version de PHP supportée.
  • Drupal 7 : la compatibilité avec les versions récentes de PHP est partielle et dépend beaucoup des modules. C'est souvent le changement de PHP chez l'hébergeur qui « casse » un vieux site Drupal 7.
  • Symfony 6.4 fonctionne à partir de PHP 8.1, Symfony 7.4 à partir de PHP 8.2. Une application Symfony qui tourne en PHP 8.1 ou 8.2 doit être testée en PHP 8.3 ou 8.4, idéalement en même temps qu'une migration vers Symfony 7.4.

Ce qui peut casser lors d'un changement de version de PHP

Les versions récentes de PHP sont plus strictes. Les problèmes les plus courants :

  • des fonctions dépréciées qui génèrent des avertissements, puis des erreurs ;
  • des bibliothèques Composer anciennes, figées dans une version incompatible ;
  • des modules contrib ou bundles abandonnés ;
  • du code sur mesure qui s'appuyait sur des comportements tolérés auparavant (types, propriétés dynamiques…).

Le symptôme typique : un écran blanc ou une erreur 500 le lendemain d'une maintenance chez l'hébergeur. Si c'est votre cas, voir l'intervention urgente.

Comment s'y préparer

  1. Identifier la version de PHP utilisée en production (rapport d'état de Drupal, php -v sur le serveur ou le panneau de l'hébergeur).
  2. Tester le site en PHP 8.3 ou 8.4 sur une copie : un outil comme PHPCompatibility, l'analyse statique et une recette des parcours principaux révèlent l'essentiel des problèmes.
  3. Mettre à jour les dépendances Composer et les modules contrib.
  4. Corriger le code sur mesure, avec Rector pour les corrections automatisables.
  5. Planifier la bascule avec l'hébergeur, avec une possibilité de retour arrière.

Pour un site Drupal 10, le plus efficace est de combiner passage en PHP 8.3 et mise à jour vers Drupal 11 dans un même chantier : la montée de version de PHP est de toute façon un prérequis.

En résumé

Fin 2026 concentre trois échéances : Drupal 10 le 9 décembre, la fin des corrections de bugs de Symfony 6.4 en novembre, PHP 8.2 le 31 décembre. Un audit flash permet de savoir en quelques jours où en est votre site sur ces trois points, et de chiffrer la mise à niveau.