Le binaire Symfony CLI permet de lancer un serveur PHP local afin de faire tourner votre application. Beaucoup d'options intéressantes sont disponibles : domaine personnalisé, HTTPS... Découvrons des options non documentées ou documentées récemment !
Configuration de workers
On peut définir des workers, qui démarreront automatiquement en même temps que le serveur (exemple repris de la documentation) :
# .symfony.local.yaml
workers:
# Démarrer automatiquement "yarn encore" en mode "watch"
yarn_encore_watch: ~
# Démarrer automatiquement "messenger:consume" avec le transport "async"
messenger_consume_async: ~
# Vous pouvez également définir vos propres commandes
build_spa:
cmd: ['yarn', '--cwd', './spa/', 'dev']
Domaine local wildcard
Vous saviez probablement que l'on peut définir des domaines locaux, comme par exemple "project.wip".
Mais, est-ce que vous saviez que l'on peut également définir des domaines locaux wildcard ?
symfony proxy:domain:attach "*.myproject"
De cette manière, votre projet supportera les accès à admin.myproject.wip, custom.myproject.wip, etc.
Configurer des options via un fichier de configuration
Vous l'avez vu plus tôt, le fichier .symfony.local.yaml permet de configurer des workers. Mais, ce qui n'est pas encore documenté, c'est que l'on peut y ajouter d'autres options !
# Définit domain1.wip et domain2.wip pour le projet en cours
proxy:
domains:
- domain1
- domain2
http:
document_root: public/ # Chemin vers la racine du projet
passthru: index.php # Contrôleur front
port: 8000 # Forcer le port qui sera utilisé pour lancer le serveur
preferred_port: 8001 # Port préféré par défaut
p12: path/to/p12_cert # Chemin vers le fichier contenant le certificat TLS
allow_http: true # Empêcher la redirection automatique depuis HTTP vers HTTPS
no_tls: true # Utiliser HTTP au lieu de HTTPS
daemon: true # Lancer le serveur en tâche de fond
use_gzip: true # (Dés)activer la compression GZIP
Attention : si vous définissez les domaines via ce fichier de configuration, quand vous lancerez la commande server:start, les domaines définis avec la commande proxy:domain:attach seront écrasés.
Et voilà, c'est terminé ! :) Si vous avez des questions, remarques, suggestions ... N'hésitez pas à poster un commentaire ci-dessous :)
Commentaires
Posté par Yahya le 21/10/2024 à 00:57.
Hello,i tried to configure my .symfony.loal.yaml file, but i have the impression that my configuration is no longer taken into account. unable to access domain1.wip or domain2.wip.
"This site is inaccessible"
here is my config file
proxy:
domains:
- domain1
- domain2
http:
document_root: public/ # Path to the project document root
passthru: index.php # Project passthru index
port: 8000 # Force the port that will be used to run the server
preferred_port: 8001 # Preferred HTTP port [default: 8000]
p12: "\"C:\\Users\\yahay\\.symfony\\certs\\default"" # Name of the file containing the TLS certificate to use in p12 format
allow_http: true # Prevent auto-redirection from HTTP to HTTPS
no_tls: true # Use HTTP instead of HTTPS
daemon: true # Run the server in the background
use_gzip: true # Toggle GZIP compression
Posté par jmsche le 08/11/2024 à 17:51.
Hello Yahya,Did you configure & start the proxy server?