FrankenPHP – Le serveur PHP surpuissant écrit en Go

découvrez frankenphp, le serveur php surpuissant écrit en go qui pourrait bien révolutionner le monde du développement web.

FrankenPHP, le serveur PHP surpuissant écrit en Go, à engendré beaucoup d’intérêts au sein de la communauté de développement web.

FrankenPHP, développé par le français Kévin Dunglas, un contributeur de longue date à l’écosystème PHP et membre de la Core Team Symfony, se présente comme une solution pour moderniser la vieillissante stack LAMP (Linux Apache Mysql PHP). Ce serveur d’applications PHP écrit en Go repose sur le serveur web performant Caddy.

Outre ses performances, je suis fan du branding :

FrankenPHP en quelques mots

FrankenPHP a été conçu en mettant l’accent sur les performances et la simplicité. Voici quelques-unes de ses caractéristiques qui le distinguent :

  • Un SAPI personnalisé pour les serveurs web en Go.
  • Intégration native du mode worker pour de meilleurs performances.
  • Compatibilité avec des frameworks populaires tels que Laravel, Symfony, Drupal, et « WordPress« .
  • Support d’Early Hints pour un affichage plus rapide et des protocoles HTTP/2 et HTTP/3.
  • Utilisation de technologies de compression avancées comme Brotli, Zstandard, et Gzip.
  • Fonctionnalités avancées de log structuré et de support des métriques via Prometheus.
  • Compatibilité avec l’intégration temps réel via Mercure.

Performances et Compatibilité

D’après les benchmarks publiés sur son site officiel, FrankenPHP peut améliorer les performances de vos applications PHP jusqu’à 3,5 x plus vite que PHP-FPM. Cette augmentation significative des performances est particulièrement notable pour les applications de type API Platform. Cela signifie également que nombre de Web App pourrait en bénéficier.

La compatibilité avec des solutions telles que Kubernetes et les plateformes Cloud modernes facilite le déploiement de FrankenPHP. Vous pouvez également utiliser une image Docker ou packager votre application PHP comme un binaire statique autonome et auto-exécutable.

Simplicité de Déploiement

L’un des principaux avantages de FrankenPHP est sa facilité de déploiement. Seule une instance de service et un binaire sont nécessaires, éliminant le besoin d’utiliser PHP-FPM.

Voici quelques commandes pour démarrer rapidement :

Lancer une instance Docker :

docker run -v $PWD:/app/public -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp

Servir le contenu du répertoire courant avec le binaire :

./frankenphp php-server

Exécuter des scripts en ligne de commande :

./frankenphp php-cli /chemin/vers/votre/script.php

Gestion Avancée des Certificats HTTPS

FrankenPHP utilise Caddy pour gérer les certificats HTTPS de manière automatique, incluant la génération, le renouvellement et la révocation. Cette fonctionnalité assure non seulement la sécurité des communications, mais simplifie également la gestion des certificats pour les administrateurs système.

Configuration pour la Production

Pour démarrer un serveur Caddy en production avec FrankenPHP sans utiliser Docker, la configuration est simple :

{
frankenphp
order php_server before file_server
}

localhost {
encode zstd br gzip
php_server
}

FrankenPHP se positionne comme une solution innovante qui simplifie l’architecture des serveurs PHP tout en améliorant significativement les performances. Que vous soyez développeur ou administrateur système, ce nouveau serveur d’applications se doit d’être testé !

Pour découvrir plus sur FrankenPHP, visitez le site officiel. Félicitations à Kévin Dunglas pour cette création. Toujours impressionné de tous ces projets qui apportent une vraie plus value à la communauté.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *