FrankenPHP, dans les entrailles de l'interpréteur PHP, de machines virtuelles et des threads
Présentation de FrankenPHP, serveur d'application PHP moderne cloud native basé sur Caddy au Forum PHP 2022

Cette sketchnote a été réalisée lors du Forum PHP 2022. Elle illustre la présentation "FrankenPHP, dans les entrailles de l'interpréteur PHP, de machines virtuelles et des threads" donnée par Kévin Dunglas, qui présente ce nouveau serveur d'application PHP révolutionnaire, app server cloud native et HTTP compliant.
Contenu de la présentation
Kévin Dunglas présente FrankenPHP, une innovation majeure dans l'écosystème PHP. Ce projet introduit une nouvelle couche SAPI (Server Application Programming Interface) compatible avec tous les serveurs Go, basée sur Caddy. L'approche technique est ambitieuse : intégrer l'interpréteur PHP comme bibliothèque C, utiliser CGO pour faire communiquer C et Go, et implémenter une SAPI en CGO.
La présentation détaille les objectifs : créer une solution compatible avec les applications PHP existantes, extensible, fonctionnant avec un seul conteneur mais aussi sans Docker, le tout en tant que logiciel libre. Le worker mode apporte des gains de performance significatifs avec un cycle optimisé : boot, load, puis gestion des requêtes/réponses en continu. Bien que PHP ne soit pas nativement compatible avec le routing Go et que l'OpCache soit "hardcore", FrankenPHP ouvre de nouvelles perspectives pour le déploiement d'applications PHP modernes.
Points clés à retenir
- App server moderne : cloud native et HTTP compliant, basé sur Caddy
- Architecture innovante : nouvelle couche SAPI compatible avec tous serveurs Go via CGO
- Objectifs ambitieux : compatible apps PHP, extensible, marche avec/sans Docker, free software
- Worker mode performant : cycle boot → load → request/response continu pour l'éco-conception
- Défis techniques : intégration PHP/Go, routing non-compatible, OpCache complexe mais next-gen
Cette sketchnote est disponible dans un carnet physique.