Levez les obstacles au correctif PHP2Shell : API supprimées, conflits de dépendances, extensions absentes et erreurs de passerelle. Rétablissez le service avec PHP corrigé et vérifiez les deux CVE.
01
Fonctions mysql_*, each et create_function absentes
Identifier PHP de la requête. ext/mysql disparaît en PHP 7, each()/create_function() en PHP 8. Mettre à jour la dépendance ou refactoriser en privé. Préserver paramètres liés et transactions avec PDO/mysqli. Éviter remplacements aveugles et correctifs inconnus.
02
TypeError ou signature incompatible
Enregistrer erreur complète et pile dans des journaux protégés. Comparer les surcharges aux parents/interfaces et nouvelles règles de types. Corriger ou mettre à jour le composant puis tester. Ne pas supprimer tous les types; ne pas afficher les détails publiquement.
03
Propriétés dynamiques dépréciées en PHP 8.2
Un avertissement ne prouve ni RCE ni intrusion. Trouver la classe et adopter version maintenue ou correction explicite. Tester sérialisation et ORM. Journaliser en privé en supprimant la cause; masquer tous les messages ne corrige pas PHP2Shell.
04
Conflit de plateforme Composer
Garder composer.json/lock, examiner les paquets verrouillés et check-platform-reqs --lock sur copie fiable. prohibits identifie le blocage. config.platform simule la résolution, sans changer PHP actif. --ignore-platform-reqs ne valide rien. Réviser et tester tout nouveau lock.
05
Extension ou pilote manquant
Comparer INI et modules CLI et Web/FPM séparément. Installer un binaire fiable adapté à PHP, architecture et NTS/ZTS, dans le bon service. Remplacer les workers de façon contrôlée puis tester la fonction ou connexion; CLI ne prouve pas Web.
06
502, page blanche ou ancien PHP
Corréler journaux upstream, démarrage FPM et application. Contrôler socket/port, permissions, service et binaire; une extension incompatible bloque parfois le démarrage. Tester avant rechargement contrôlé et préserver les logs. Un 502 seul ne prouve pas une attaque.
07
Caractères, liens ou données altérés
Vérifier encodage source, charset/collation DB, export, réécriture et chemins séparément. Répéter conversion GBK/UTF-8 et comparer champs, médias et URL. Éviter remplacement global des données sérialisées. Conserver les liens ou préparer des redirections vérifiées.
Vérifier les correctifs PHP2Shell
Compatibilité applicative, maintenance et sécurité PHP sont distinctes. Choisissez une branche PHP maintenue corrigeant les deux CVE, puis vérifiez tous les processus Web, tâches planifiées et réplicas. Mettre à jour un plugin ne remplace pas PHP.
| Branche PHP | Versions amont inférieures à | Première version corrigée | Fin du support de sécurité |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 31 déc. 2029 |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 31 déc. 2028 |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 31 déc. 2027 |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 31 déc. 2026 |
Aucune publication PHP habituelle n’est prévue pour ces branches. Des rétroportages source minimaux existent pour 7.4, 8.0 et 8.1. Vérifiez séparément le support du fournisseur. Lire le guide ↗