Sponsorisé par
Logo FrankenPHP

Le serveur d'applications PHP moderne, écrit en Go

Commencer
# Installer FrankenPHP
curl https://frankenphp.dev/install.sh | sh
mv frankenphp /usr/local/bin/

# Servir le répertoire public/
frankenphp php-server -r public/

# Exécuter un script en ligne de commande
frankenphp php-cli script.php
Une seule commande nécessaire

Commencez dès maintenant !

Lancez un serveur PHP de haute qualité en production en une simple commande !
Prêts pour la révolution PHP ?

Plus moderne que jamais !

  • Utilise l’exécuteur PHP officiel intégré dans un serveur web de pointe : Caddy
  • Support natif pour HTTP/1.1, HTTP/2 et HTTP/3
  • Génération et renouvellement automatiques des certificats HTTPS (Let’s Encrypt ou ZeroSSL)
  • Copie vos fichiers PHP dans la racine du document, et c’est tout !
  • Crée des binaires autonomes, auto-exécutables et sans dépendances pour vos applications web PHP, et outils en ligne de commande.
  • Les extensions PHP les plus populaires, incluant OPcache et XDebug, sont nativement supportées.

Support natif pour

Drupal Sulu WordPress Laravel Symfony API Platform Drupal Sulu WordPress Laravel Symfony API Platform Drupal Sulu WordPress Laravel Symfony API Platform
Rendez vos applications PHP plus rapides que jamais !

Mode Worker

  • Script Worker

    Démarrez votre application une fois, elle reste en mémoire !

  • Direct

    Pris en charge nativement par Symfony, API Platform, Laravel…

  • Simple

    Utilise les superglobales classiques : pas besoin de PSR-7.

  • Rapide

    3,5 fois plus rapide que FPM sur les applications API Platform selon nos benchmarks.

  • Efficace

    FrankenPHP est écrit en Go et C. Il s’appuie sur la fonctionnalité emblématique de Go : les goroutines !

  • Optionnel

    Votre application peut être servie telle quelle, même si elle n’est pas compatible avec le mode worker.

  • Déploiement facile

    Fonctionne en processus : un binaire, aucun service externe nécessaire.

  • Watcher

    Le worker redémarre à chaque changement de votre code.

Rapide comme l'éclair

Une simplicité de configuration

Cinq lignes de configuration : c’est tout ce dont vous avez besoin pour démarrer un serveur PHP de niveau production (HTTPS automatique, HTTP/3, compression Brotli…), alimenté par Caddy.
{
    # Activer FrankenPHP
    frankenphp
}

localhost {
    # Activer la compression (optionnel)
    encode zstd br gzip
    # Exécuter les fichiers PHP dans le répertoire courant et servir les ressources
    php_server
}
Fonctionnalités

FrankenPHP en un aperçu

Extensible

Compatible avec PHP 8.2+, la plupart des extensions PHP et tous les modules Caddy.

Un seul service

Conçu dans un souci de simplicité : un seul service, un seul binaire ! FrankenPHP n’a pas besoin de PHP-FPM, il utilise son propre SAPI spécialement conçu pour les serveurs web Go.

Déploiement facile

Application Cloud Native fournie comme une image Docker. Compatible avec Kubernetes et toutes les plateformes Cloud modernes. Il est également possible de packager votre application PHP comme un binaire statique autonome et auto-exécutable.

Mode worker

Démarrez votre application une fois et gardez-la en mémoire ! Elle est prête à gérer les requêtes entrantes en quelques millisecondes.

103 Early Hints

Les Early Hints améliorent le temps de chargement des sites web de 30%. FrankenPHP est le seul SAPI PHP avec support des Early Hints !

Temps réel

Hub Mercure intégré. Envoyez des événements depuis vos applications PHP vers tous les navigateurs connectés, ils reçoivent instantanément la charge utile comme un événement JavaScript !

Compression Brotli, Zstandard et Gzip

Les formats de compression modernes sont pris en charge nativement.

Logs structurés

Apporte un format plus défini et des détails à vos logs.

Métriques Prometheus et traçage

Support de Prometheus intégré !

HTTP/2 & HTTP/3

Support natif pour HTTPS, HTTP/2 et HTTP/3.

Automatisation HTTPS

Génération, renouvellement et révocation automatiques des certificats HTTPS.

Rechargement fluide

Déployez vos applications sans aucun temps d’arrêt grâce aux rechargements en douceur.