FrankenPHP est un serveur d'applications moderne pour PHP construit à partir du serveur web Caddy.
FrankenPHP donne des super-pouvoirs à vos applications PHP grâce à ses fonctionnalités à la pointe : Early Hints, mode worker, fonctionnalités en temps réel, HTTPS automatique, prise en charge de HTTP/2 et HTTP/3...
FrankenPHP fonctionne avec n'importe quelle application PHP et rend vos projets Laravel et Symfony plus rapides que jamais grâce à leurs intégrations officielles avec le mode worker.
FrankenPHP peut également être utilisé comme une bibliothèque Go autonome qui permet d'intégrer PHP dans n'importe quelle application en utilisant net/http.
Découvrez plus de détails sur ce serveur d’application dans le replay de cette conférence donnée au Forum PHP 2022 :
Sur Windows, utilisez WSL pour exécuter FrankenPHP.
Vous pouvez copier cette ligne dans votre terminal pour installer automatiquement une version adaptée à votre plateforme :
curl https://frankenphp.dev/install.sh | shNous fournissons des binaires statiques de FrankenPHP pour le développement, pour Linux et macOS, contenant PHP 8.4 et la plupart des extensions PHP populaires.
Installation d'extensions : Les extensions les plus courantes sont incluses. Il n'est pas possible d'en installer davantage.
Nos mainteneurs proposent des paquets rpm pour tous les systèmes utilisant dnf. Pour installer, exécutez :
sudo dnf install https://rpm.henderkes.com/static-php-1-0.noarch.rpm
sudo dnf module enable php-zts:static-8.4 # 8.2-8.5 disponibles
sudo dnf install frankenphpInstallation d'extensions : sudo dnf install php-zts-<extension>
Pour les extensions non disponibles par défaut, utilisez PIE :
sudo dnf install pie-zts
sudo pie-zts install asgrim/example-pie-extensionNos mainteneurs proposent des paquets deb pour tous les systèmes utilisant apt. Pour installer, exécutez :
sudo curl -fsSL https://key.henderkes.com/static-php.gpg -o /usr/share/keyrings/static-php.gpg && \
echo "deb [signed-by=/usr/share/keyrings/static-php.gpg] https://deb.henderkes.com/ stable main" | sudo tee /etc/apt/sources.list.d/static-php.list && \
sudo apt update
sudo apt install frankenphpInstallation d'extensions : sudo apt install php-zts-<extension>
Pour les extensions non disponibles par défaut, utilisez PIE :
sudo apt install pie-zts
sudo pie-zts install asgrim/example-pie-extensionDes images Docker sont également disponibles :
docker run -v .:/app/public \
-p 80:80 -p 443:443 -p 443:443/udp \
dunglas/frankenphpRendez-vous sur https://localhost, c'est parti !
Tip
Ne tentez pas d'utiliser https://127.0.0.1. Utilisez https://localhost et acceptez le certificat auto-signé.
Utilisez la variable d'environnement SERVER_NAME pour changer le domaine à utiliser.
FrankenPHP est également disponible sous forme de paquet Homebrew pour macOS et Linux.
Pour l'installer :
brew install dunglas/frankenphp/frankenphpInstallation d'extensions : Utilisez PIE.
Pour servir le contenu du répertoire courant, exécutez :
frankenphp php-serverVous pouvez également exécuter des scripts en ligne de commande avec :
frankenphp php-cli /path/to/your/script.phpPour les paquets deb et rpm, vous pouvez aussi démarrer le service systemd :
sudo systemctl start frankenphp- Le mode classique
- Le mode worker
- Le support des Early Hints (code de statut HTTP 103)
- Temps réel
- Servir efficacement les fichiers statiques volumineux
- Configuration
- Écrire des extensions PHP en Go
- Images Docker
- Déploiement en production
- Optimisation des performances
- Créer des applications PHP standalone, auto-exécutables
- Créer un build statique
- Compiler depuis les sources
- Surveillance de FrankenPHP
- Intégration Laravel
- Problèmes connus
- Application de démo (Symfony) et benchmarks
- Documentation de la bibliothèque Go
- Contribuer et débugger

