Jonathan Scheiber

Symfony CLI : découvrons des options avancées !

Temps de lecture : 2 minutes 2 commentaires
Symfony CLI : découvrons des options avancées !

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?

Ajouter un commentaire