La mise à jour de la version PHP de votre site web de 7.x à 8.5 est un processus complexe en plusieurs étapes, car il s'agit d'une évolution majeure. PHP 8 introduit des changements importants ; une planification minutieuse est donc indispensable pour éviter toute interruption de service. Cette mise à jour vous garantit une sécurité renforcée, des performances améliorées et la pérennité de votre site web.
Pré-requis
Accès à votre Hub Funio
Accès à cPanel
Accès SSH
Accomplissement de la tâche: dépend de votre expertise
Expertise: avancée
Comment faire?
Connectez-vous à votre cPanel.
Dans la section Logiciels, allez sur Sélectionner une version de PHP.
Prenez en note votre version PHP actuelle et les extensions PHP activés.
Vérifiez si vous utilisez un CMS (comme Wordpress, Joomla, Drupal, etc.)
Si vous utilisez un CMS, vérifiez les plugins et thèmes installés.
Vérifiez la configuration requise pour PHP.
Sauvegardez votre site web
Dans cPanel > Fichiers > Assistant de sauvegarde
Cliquez sur Back Up et suivez les instructions.
Auditer la compatibilité des applications
PHP 8.4 introduit des modifications de syntaxe et de comportement. Vérifiez la compatibilité de votre CMS (système de gestion de contenu).
CMS version minimal : WordPress 6.4+, Joomla 4.4+, Drupal 10+, etc.
Plugins/Thèmes/Extensions : Compatibilité avec PHP 8.4 requise.
Code personnalisé : Veuillez vérifier la présence de fonctions obsolètes.
Vous pouvez utiliser ce plugin WordPress : PHP Compatibility Checker
Vous pouvez examiner manuellement votre code.
Incompatibilités courantes
create_function() retiré
each() retiré
Modifications dans la gestion des types et le traitement des erreurs
Fonctions et fonctionnalités obsolètes
Outils recommandés
Compatibilité PHP (PHP_CodeSniffer)
Vérificateurs de mise à niveau CMS
Test sur un environnement de staging
PHP Compatibility Checker - Plugin WordPress
Chemin de mise à niveau recommandé
PHP 7.0 > 7.4 > 8.0 > 8.1 > 8.2 > 8.3 > 8.4
Cela minimise les erreurs fatales et simplifie le débogage.
PHP 7.0 à 7.4
Corriger les problèmes hérités :
each() retiré
create_function() retiré
anciennes fonctions MySQL (mysql_*)
Dépréciation des décalages de chaîne entre accolades
Ancienne gestion des tableaux/chaînes
PHP 7.4 à 8.0 (Plus grande rupture de compatibilité)
Application stricte des types
Erreurs fatales au lieu d'avertissements
Modifications de la gestion des erreurs
Fonctions supprimées
Modifications de l'API interne
🔵 Objectif : Vous ne devez pas avoir d'erreurs fatales dans la version 8.0
PHP.net - Migrer de PHP 7.4 à PHP 8.0
PHP 8.0 à 8.1
Null implicites obsolètes
Nouveaux avertissements (warnings)
Application du type de retour
comportement plus strict des fonctions internes
🔵 Objectif : Nettoyer les journaux de dépréciation
PHP 8.1 à 8.2
Critique:
Propriétés dynamiques obsolètes
$obj->newProperty = 'value'; // obsolète
Comment corriger ?
class MyClass {
public string $newProperty;
}🔵 Objectif : Pas d'avertissements de propriété dynamique
PHP 8.2 à 8.3
Améliorations des performances
Optimisations du moteur
Ruptures de compatibilité minimales
🔵 Objectif : Stabilité
PHP 8.3 à 8.4
Améliorations des performances
Améliorations de la gestion de la mémoire
Comportements stricts du moteur
🔵 Objectif : Durcissement en production
PHP 8.4 à 8.5
Compatibilité future
Nouvelles fonctionnalités
Optimisations du moteur
Améliorations de la sécurité
🔵 Objectif : Stabilité à long terme
Dépannage et problèmes courants
Activer les journaux d'erreurs
Vérifier les erreurs fatales dans les fonctions dépréciées
Erreurs de connexion aux bases de données
Mettre à jour le noyau du CMS
Mettre à jour les plugins/modules
Supprimer les extensions obsolètes
Supprimer les plugins et thèmes obsolètes et non pris en charge
🔵 Note : Si quelque chose ne fonctionne pas, vous pouvez temporairement revenir à votre version précédente. Si vous n'avez pas d'expérience avec ce processus, nous vous recommandons de contacter votre développeur.
