Logiciel

PHP 8.2 en fin de vie le 31 décembre 2026, PHP 8.6 en préparation : quelle version choisir pour vos sites

PHP 8.2 ne reçoit plus de correctifs après le 31 décembre 2026. PHP 8.6 est en RC, avec clamp(), sessions plus sûres par défaut. Calendrier et conseils.

Cédron 5 min de lecture
PHP 8.2 en fin de vie le 31 décembre 2026, PHP 8.6 en préparation : quelle version choisir pour vos sites

Le 31 décembre 2026, PHP 8.2 arrive en fin de vie : plus aucun correctif, y compris de sécurité. Le même jour, PHP 8.4 quitte le support actif et n’aura plus que des correctifs de sécurité. En parallèle, PHP 8.6 suit son cycle de versions candidates, avec une sortie finale planifiée au 19 novembre 2026. Pour les sites WordPress, les applications Laravel ou Symfony et les outils métier écrits en PHP, c’est le moment de vérifier la version installée sur chaque serveur.

Le calendrier des versions PHP

Chaque branche de PHP bénéficie de deux ans de support actif (corrections de bogues et de sécurité), puis de deux ans de correctifs de sécurité uniquement.

VersionSortieSupport actif jusqu’auSécurité jusqu’au
8.28 décembre 202231 décembre 202431 décembre 2026
8.323 novembre 202331 décembre 202531 décembre 2027
8.421 novembre 202431 décembre 202631 décembre 2028
8.520 novembre 202531 décembre 202731 décembre 2029

Pour mémoire, PHP 8.1 et les versions antérieures ne sont déjà plus maintenues.

Pourquoi la fin de vie de PHP 8.2 compte

PHP 8.2 a reçu ses correctifs de sécurité réguliers en 2026 : versions 8.2.32 le 2 juillet, 8.2.33 le 30 juillet et 8.2.34 le 24 septembre, publiées en même temps que les correctifs des autres branches. À partir de 2027, ce ne sera plus le cas. Une faille découverte dans le moteur PHP ou une de ses extensions restera ouverte sur les serveurs en 8.2.

Pour un site exposé sur Internet, c’est un risque réel : un formulaire de contact, un back-office ou un module de paiement tournent directement sur cet interpréteur. Certaines distributions Linux prolongent la maintenance de leur propre paquet PHP, mais ce n’est plus le projet PHP qui s’en charge.

PHP 8.6 : ce qui arrive

Le calendrier officiel prévoyait trois alphas en juillet 2026, une bêta 1 le 13 août et un gel des fonctionnalités le 22 septembre. La première version candidate publiée est la RC2, le 24 septembre 2026, une erreur d’empaquetage ayant fait sauter la RC1. La sortie finale est planifiée au 19 novembre 2026, le calendrier précisant que des versions intermédiaires peuvent être ajoutées ou retirées.

Les nouveautés principales

  • Application partielle de fonctions : une nouvelle syntaxe pour créer une fonction à partir d’une autre en fixant certains arguments.
  • clamp() : une fonction standard pour borner une valeur entre un minimum et un maximum.
  • Classe Time\Duration pour représenter des durées.
  • Valeurs par défaut pour les propriétés readonly, et l’attribut #[\Override] utilisable sur les constantes de classe et les cas d’enum.
  • Nouvelle API d’erreurs de flux : stream_last_errors(), StreamException, etc.
  • API de polling (Io\Poll\Context) pour surveiller plusieurs flux.
  • TLS : reprise de session, clés pré-partagées et données précoces TLS 1.3 via les options de contexte OpenSSL.

Les ruptures de compatibilité à anticiper

  • Sessions plus sûres par défaut : session.use_strict_mode passe à 1, session.cookie_httponly à 1 et session.cookie_samesite à Lax. C’est une bonne nouvelle pour la sécurité, mais une application qui comptait sur les anciens réglages, par exemple un cookie de session lu en JavaScript ou attendu lors d’un retour en POST depuis un site tiers (prestataire de paiement, authentification unique), peut changer de comportement.
  • trim(), ltrim() et rtrim() suppriment désormais aussi le caractère de saut de page \f.
  • preg_grep() renvoie false en cas d’erreur d’exécution PCRE, au lieu d’un tableau partiel.
  • Validation plus stricte : array_filter(), scandir() ou pathinfo() lèvent une ValueError sur un argument de mode invalide, et de nombreuses fonctions refusent les octets nuls dans les chemins.
  • Dépréciations : is_long(), is_integer(), is_double(), doubleval(), strcoll(), metaphone(), spl_object_hash(), ainsi que return dans un bloc finally.

Quelle version viser ?

  • Vous êtes en PHP 8.2 ou plus ancien : migrez avant le 31 décembre 2026. Visez PHP 8.4 ou 8.5, qui ont plus d’un an de maturité et sont supportées jusqu’à fin 2028 et fin 2029.
  • Vous êtes en 8.3 : vous êtes couvert pour la sécurité jusqu’à fin 2027. Planifiez la montée en 8.4 ou 8.5 dans l’année.
  • PHP 8.6 : à tester dès sa sortie dans un environnement de développement, mais à réserver à la production une fois que vos frameworks, extensions et CMS l’annoncent comme compatibles.

La méthode pour migrer un site PHP

  1. Inventoriez : php -v sur chaque serveur, et vérifiez la version choisie dans le panneau de votre hébergeur, qui peut différer pour chaque site.
  2. Vérifiez la compatibilité de votre CMS, de vos extensions et de vos dépendances Composer avec la version cible.
  3. Testez sur une copie du site, avec l’affichage des avertissements de dépréciation activé dans les journaux.
  4. Basculez, puis surveillez les journaux d’erreurs pendant quelques jours.

Les hébergements mutualisés permettent souvent de changer la version PHP par site en un clic : c’est rapide, mais testez d’abord sur une copie. Et profitez-en pour vérifier les en-têtes de sécurité et la configuration TLS de votre site avec notre outil open source frontdoor.

Sources

Besoin d'un accompagnement sur ce sujet ?

Audit gratuit, conseil personnalisé et solutions sur-mesure pour votre entreprise.

En discuter