Déployer une application web Laravel avec FrankenPHP est très facile.
Il suffit de monter le projet dans le répertoire /app
de l'image Docker officielle.
Exécutez cette commande depuis le répertoire principal de votre application Laravel :
docker run -p 80:80 -p 443:443 -p 443:443/udp -v $PWD:/app dunglas/frankenphp
Et profitez !
Vous pouvez également exécuter vos projets Laravel avec FrankenPHP depuis votre machine locale :
Ajoutez la configuration suivante dans un fichier nommé Caddyfile
placé dans le répertoire racine de votre projet Laravel :
{
frankenphp
}
# Le nom de domaine de votre serveur
localhost {
# Définir le répertoire racine sur le dossier public/
root * public/
# Autoriser la compression (optionnel)
encode zstd br gzip
# Exécuter les scripts PHP du dossier public/ et servir les assets
php_server
}
Démarrez FrankenPHP depuis le répertoire racine de votre projet Laravel : frankenphp run
Octane peut être installé via le gestionnaire de paquets Composer :
composer require laravel/octane
Après avoir installé Octane, vous pouvez exécuter la commande Artisan octane:install
, qui installera le fichier de configuration d'Octane dans votre application :
php artisan octane:install --server=frankenphp
Le serveur Octane peut être démarré via la commande Artisan octane:frankenphp
.
php artisan octane:frankenphp
La commande octane:frankenphp
peut prendre les options suivantes :
--host
: L'adresse IP à laquelle le serveur doit se lier (par défaut : 127.0.0.1
)--port
: Le port sur lequel le serveur doit être disponible (par défaut : 8000
)--admin-port
: Le port sur lequel le serveur administratif doit être disponible (par défaut : 2019
)--workers
: Le nombre de workers qui doivent être disponibles pour traiter les requêtes (par défaut : auto
)--max-requests
: Le nombre de requêtes à traiter avant de recharger le serveur (par défaut : 500
)--caddyfile
: Le chemin vers le fichier Caddyfile
de FrankenPHP--https
: Activer HTTPS, HTTP/2, et HTTP/3, et générer automatiquement et renouveler les certificats--http-redirect
: Activer la redirection HTTP vers HTTPS (uniquement activé si --https est passé)--watch
: Recharger automatiquement le serveur lorsque l'application est modifiée--poll
: Utiliser le sondage du système de fichiers pendant la surveillance pour surveiller les fichiers sur un réseau--log-level
: Enregistrer les messages au niveau de journalisation spécifié ou au-dessus, en utilisant le logger natif de Caddy[!TIP] Pour obtenir des logs structurés en JSON logs (utile quand vous utilisez des solutions d'analyse de logs), passez explicitement l'otpion
--log-level
.
En savoir plus sur Laravel Octane dans sa documentation officielle.