Chaque version de PHP est plus rapide que la précédente et reçoit des correctifs de sécurité pendant environ trois ans. La seule raison de ne pas faire tourner une version encore suivie, c'est qu'une chose dont vous dépendez n'y fonctionne pas — et c'est une question qui a une réponse, pas une supposition.
La fenêtre de support est le plancher
- Support actif : corrections de bogues et de sécurité, environ deux ans.
- Support de sécurité : la sécurité seule, un an de plus.
- Après cela : plus rien, jamais. Une faille connue reste ouverte sur votre serveur pour de bon.
Faire tourner une version non suivie n'est pas un choix de maintenance, c'est une porte ouverte. C'est aussi l'une des premières choses que vérifie un scan automatisé.
Vérifiez avant de basculer
composer why-not php 8.3
vendor/bin/rector process --dry-run
phpcs --standard=PHPCompatibility --runtime-set testVersion 8.3 app/
La première ligne nomme les paquets qui vous retiennent. Souvent c'est une seule bibliothèque abandonnée, et la remplacer représente moins de travail que rester en arrière pour toujours.
Si un CMS entre en jeu
Consultez la page de compatibilité du cœur et de chaque extension. Une extension qui n'a pas été mise à jour depuis trois ans est la raison de votre blocage, et c'est en soi un problème de sécurité.
Basculer sans risque
- Faites une sauvegarde — voir Sauvegarder avant chaque mise à jour.
- Changez d'abord la préproduction — et éprouvez le paiement, les envois de fichiers, les e-mails et les tâches planifiées.
- Basculez la production en gardant l'ancienne version installée — pour que revenir en arrière tienne en une ligne.
- Surveillez le journal d'erreurs pendant une journée — les avis d'obsolescence arrivent avec le trafic, pas avec les tests.
Et la version qu'utilisent vos tâches planifiées
php -v # the CLI
curl -sSI https://yourdomain.com | grep -i x-powered-by
La ligne de commande et le web sont deux réglages distincts. Une tâche nocturne sur une ancienne version pendant que le site tourne sur une nouvelle produit des pannes qui n'arrivent jamais que la nuit — voir Garder PHP à jour de ses correctifs.