Modernisateur PHP 5.x/7.x → PHP 8.3/8.4

Mise à niveau sur place de codebases PHP 5.x/7.x hérités (CMS personnalisés, TemplatePower, mysql_*, ereg, short tags, constructeurs PHP4) pour fonctionner sous PHP 8.3/8.4, puis déploiement sans Docker via un fichier .env et un script deploy.sh FTP/rsync. Idéal pour moderniser des CMS/sites PHP hérités et leurs projets frères, ou lorsqu'un site existant doit être déplacé vers un hébergement mutualisé (cPanel/Plesk) via FTP.

Qu'est-ce que 7.x → PHP 8.3/8.4 ?

Ce skill permet de moderniser des projets PHP hérités (souvent des CMS personnalisés écrits pour PHP 5.x) afin qu'ils fonctionnent sur PHP 8.3 ou 8.4 sans réécriture complète. Il est particulièrement utile pour des projets qui doivent être déployés sur un hébergement mutualisé (cPanel/Plesk) via FTP, sans Docker. Le skill fournit un ensemble d'outils : un shim de compatibilité (mysql_* → mysqli, ereg → preg), des correcteurs automatiques (clés de tableaux nues, variables variables), un vérificateur de signatures de méthodes, un testeur syntaxique et un testeur HTTP. Après avoir installé le shim et appliqué les correctifs, le skill guide l'utilisateur à travers une procédure pas à pas pour corriger les erreurs restantes, sécuriser le site (remplacement de TimThumb, suppression des scripts dangereux), configurer le système d'environnement .env et déployer via FTP ou rsync. Le résultat final est un site fonctionnel, sécurisé et capable de tourner sur une version récente de PHP, sans dépendre de Docker.

Compatible avec~Claude Code~Codex CLI~Cursor✓OpenCode
npx skills add https://github.com/dbravoan/opencode-skills/tree/HEAD/skills/legacy-php8-modernizer

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Modernisateur PHP hérité → PHP 8.3/8.4

Quand l'utiliser

Utilisez ce skill lorsqu'un projet PHP hérité (généralement un CMS personnalisé écrit pour PHP 5.x) doit :

  • fonctionner sous PHP 8.3 / 8.4 sans réécriture complète, et/ou
  • être déployé sur un hébergement mutualisé (cPanel/Plesk) via FTP, sans Docker.

Symptômes typiques : mysql_*, ereg/eregi, balises courtes <?, constructeurs de style PHP4, clés de tableaux nues ($row[Id]), $$var['key'], sizeof(null), dump MyISAM, templates TemplatePower, identifiants en clair dans config/defines*.php.

Ce que ce skill fournit

RessourceObjectif
scripts/compat.phpShim : mysql_*→mysqli, ereg*/split→preg, userErrorHandler
scripts/fix_barewords.phpProtection (via tokenizer) des clés de tableaux nues avec des guillemets
scripts/fix_variable_variables.phpCorrige la rupture de syntaxe des variables variables $$var['key'] sous PHP 8
scripts/check_signatures.phpVérificateur statique de signatures de méthodes (LSP)
scripts/lint-all.shVérification syntaxique php -l en masse
scripts/smoke-test.shTest de fumée HTTP d'une liste d'URL
templates/defines.phpChargeur .env + constantes DB (fonctionne avec et sans Docker)
templates/env.exampleModèle .env (DB_* + FTP_*)
templates/htaccess.htaccess moderne pour Apache/PHP-FPM
templates/user.iniSurcharges PHP-FPM pour hébergement mutualisé
templates/timthumb.phpGénérateur de vignettes GD sécurisé (remplace TimThumb vulnérable)
deploy/deploy.shDéploiement FTP ou rsync ; exclut les fichiers de développement ; écrit le .env distant

Règles d'or

  1. Sécurité d'abord : git init + commit de base avant de toucher à quoi que ce soit. Sauvegardez la base de données.
  2. Débloquer avant de refactoriser : le shim fait fonctionner l'ensemble du code immédiatement.
  3. Une couche DB centrale : remplacez/limitez d'abord dbClass ; le shim couvre les appels mysql_* bruts.
  4. Sécurité rapidement : supprimez les outils dangereux et TimThumb dès que le site s'affiche.
  5. Vérifiez en continu : php -l après chaque lot, puis test de fumée sur chaque URL.

Procédure

0. Base de référence

git init -q && git add -A && git commit -qm

Skills associés