Migration PHP 8.4 : la montée de version de vos applications PHP et Symfony
Votre application tourne en PHP 7.4, 8.0, 8.1 ou 8.2, et elle fonctionne. Le problème est ailleurs : PHP 8.2 ne reçoit plus de correctifs de sécurité après le 31 décembre 2026, et les versions plus anciennes n'en reçoivent déjà plus. Nous menons la montée de version jusqu'à PHP 8.4, framework et bibliothèques compris, pour des entreprises de toute la France, depuis notre base de Toulouse.
Pour les applications restées en PHP 7.x, 8.0, 8.1 ou 8.2
Cette page s'adresse à vous si une application de votre entreprise, un site, un back-office, un SaaS ou un outil métier, tourne sur une version de PHP que le projet PHP ne suivra plus en 2027. C'est souvent une application qui marche bien, qu'on a laissée en l'état parce que rien ne cassait, et dont l'équipe d'origine est partie.
Où en est votre version, d'après le calendrier de php.net :
| Votre version | Correctifs de sécurité | Ce que ça veut dire |
|---|---|---|
| PHP 7.4, 8.0 ou 8.1 | terminés | Plus aucune mise à jour du projet PHP. Seuls certains fournisseurs de distributions Linux ou de support long en publient encore. |
| PHP 8.2 | jusqu'au 31/12/2026 | Encore corrigé, plus pour longtemps : un peu plus de deux mois au 23/10/2026. |
| PHP 8.3 | jusqu'au 31/12/2027 | Le temps de planifier sans urgence. |
| PHP 8.4 | jusqu'au 31/12/2028 | La cible de cette page. |
| PHP 8.5 | jusqu'au 31/12/2029 | L'autre cible possible, si vos bibliothèques la supportent déjà. |
Source : page des versions supportées de php.net, lue le 23/10/2026.
Le framework compte autant que PHP. Symfony 7.4, la version maintenue le plus longtemps aujourd'hui, demande au moins PHP 8.2 ; Symfony 8 demande PHP 8.4. Une application en Symfony 4 ou 5 sur PHP 7.4 a donc deux montées à mener, et l'ordre compte : c'est le sujet de notre démarche, plus bas.
Pourquoi s'en occuper maintenant, et pas en janvier
Deux dates rendent le sujet concret.
Le 21 octobre 2026, php.net a publié deux failles notées critiques, CVE-2026-109618 et CVE-2026-109619 (score CVSS 4.0 de 9,2 sur 10 chacune). Elles peuvent permettre d'exécuter du code sur le serveur sans compte ni mot de passe. Les versions 8.5.12, 8.4.27, 8.3.36 et 8.2.35 les corrigent. Pour PHP 8.1 et avant, le projet PHP ne publie plus de mise à jour : il a seulement mis à disposition des correctifs minimaux pour qui compile PHP lui-même. Ce que ces failles permettent et les mesures d'attente sont détaillés dans notre article failles PHP CVE-2026-109618 et CVE-2026-109619 : que faire.
Le 31 décembre 2026, PHP 8.2 sort à son tour du calendrier de sécurité. À la prochaine faille de ce niveau, une application en 8.2 sera dans la situation des applications en 8.1 aujourd'hui.
Une montée de version se prépare : inventaire, tests, recette. Commencée en novembre, elle se fait au calme. Commencée le jour où une faille sort, elle se fait sous pression, sur une application en production.
Notre démarche, une version à la fois
Nous travaillons en Symfony et en PHP depuis plus de dix ans. Une montée de version suit chez nous le même ordre, quelle que soit la taille de l'application.
-
1. Inventaire
Version de PHP réellement servie en production (elle diffère parfois de celle de la ligne de commande), version du framework, bibliothèques et extensions, et compatibilité de chacune avec la version visée. La commande
composer auditliste déjà les dépendances visées par un avis de sécurité. -
2. Des tests avant de toucher aux versions
Nous regardons ce que les tests existants protègent vraiment. S'il en manque, nous en écrivons d'abord sur les parcours qui font rentrer de l'argent : commande, paiement, facturation.
-
3. Le code que PHP refuse ou va refuser
Chaque version a sa liste, publiée par php.net. PHP 8.0 a changé la comparaison entre une chaîne et un nombre et supprimé
each()etcreate_function(). PHP 8.1 déprécie le passage denullaux fonctions natives qui ne l'attendent pas. PHP 8.2 déprécie les propriétés dynamiques, PHP 8.4 les paramètres implicitement nullables. Les outils d'analyse et de réécriture automatique traitent une bonne part de ces changements, le reste se corrige à la main. -
4. PHP et le framework, deux étapes séparées
On ne monte pas PHP et Symfony le même jour. Une majeure de Symfony à la fois, en passant par la dernière mineure de chaque branche (5.4, 6.4, 7.4), les dépréciations traitées avant chaque saut. Chaque étape a son retour arrière prévu.
-
5. Mise en production et suivi
Préproduction identique à la production, recette sur vos parcours, bascule, puis surveillance des journaux d'erreurs les jours qui suivent.
La méthode de migration Symfony, version par version, et le calendrier des versions maintenues sont détaillés sur notre page agence Symfony.
Ce qui fait varier le coût d'une migration PHP
Nous facturons à la journée, au tarif ci-dessous. Le nombre de jours, lui, dépend de votre application, et nous ne le devinons pas : nous le chiffrons après un diagnostic offert, sur votre dépôt.
Prêt à lancer votre prochain projet ?
Racontez-nous votre idée. On vous répond sous 24h avec une première analyse et des pistes concrètes, sans engagement.
Questions fréquentes
Faut-il migrer vers PHP 8.4 ou directement vers PHP 8.5 ?
Mon application est en PHP 7.4 : peut-on passer directement en 8.4 ?
Que risque-t-on à rester en PHP 8.1 ou plus ancien ?
Combien de temps prend une migration PHP ?
Faut-il réécrire l'application ?
Notre application n'utilise pas Symfony. Vous la migrez quand même ?
Vous intervenez hors de Toulouse ?
Parlons de votre projet
Vous avez un projet en tête ? Discutons ensemble de la façon dont nous pouvons vous aider à le concrétiser.