Ceci est une ancienne révision du document !
Déployer l'application
Notes en vrac...
Le répertoire VAR doit être accessible en écriture.
Ne pas oublier de changer la variable APP_ENV=prod
dans le fichier .env
.
- Créer la base de données avec
php bin/console doctrine:database:create
(si vous pouvez creer un BDD) - Créer les tables avec
php bin/console doctrine:migrations:migrate
Déployer dans un sous répertoire
Le but ici est d’héberger une appli Synfony dans un sous répertoire et non pas a la racine du site web.
Imaginons que l'on veuille acceder a notre appli via le répértoire 'sous_repertoire' comme ceci :
http://mon_site.com/sous_repertoire/xxxx/xxxx/
La partie /xxxx/xxxx
devenant la route a retourner au routeur Symfony
Ressources:
Nouveau HTACCESS
a placer dans le répertoire de l'application.
Ce .htaccess renvois tout ce qui est demandé au niveau de ce répértoire vers le répértoire public
- .htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*) public/index.php/$1 [L] </IfModule>
Modification du routage
Configuration dans le fichier .env
Dans le fichier .env
ou .env.local
ajouter la variable globale
- .env.local
BASE_HOST="/sous_repertoire" BASE_URL="http:/127.0.0.1:8000"
Dans le fichier services.yaml
Pour transformer la variable globale en variable interpretable par le routeur dans le fichier annotations.yaml
- config/services.yaml
parameters: app.base_host: '%env(BASE_HOST)%'
Titre
- config/routes/annotations.yaml
controllers: resource: ../../src/Controller/ type: annotation prefix: '%app.base_host%' kernel: resource: ../../src/Kernel.php type: annotation prefix: '%app.base_host%'
Titre
assets: base_urls: ['%env(BASE_URL)%']