Bonsoir à tous, je voudrait mettre mon application symfony 5 pour remplacer une autre en php procédural. Je posséde un espace chez OVH et J'ai donc configurer mon .env et mis les fichier .htacces
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ /public/$1 [L]
à la racine et le fichier .htacces
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
en public. Dans un premier temps j'ai eu le message ci dessous:
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.3.0". You are running 5.6.40.
Donc j'ai configurer mon espace php 7.3.0 et depuis j'ai une page blanche. Quel sont les procédure à faire pour que cela fonctionne?
Cordialement
Selon mon expérience avec ce type d'hébergeurs, il faut que tu déplace le fichier .htaccess à la racine du projet et non pas dans le dossier public, je ne sais pas si tu l'a déja fait ou non
J'ai mis 2 htacces un dans public et l'autre à la racine du projet. J'ai d'abor laisser la configuration php à 5.4 et j'ai eu ce message
Composer detected issues in your platform: Your Composer dependencies require a PHP version ">= 7.3.0". You are running 5.4.45.
Je l'ai passer à 7.3 et j'avais une page blanche.
Bonsoir.
À mon avis, la configuration de PHP ne doit pas être correcte, dans le sens où il doit manquer des extensions à celle-ci, soit je pense des extensions qui ne sont pas activées par défaut et qui sont nécessaires pour le fonctionnement du Framework.
Il te faut consulter les logs du serveur de l'environnement pour savoir comment tu dois faire pour résoudre ton problème.
Sur ton hébergement fait pointer la racine vers public cela t'évitera déjà des désagrément. Ensuite si tu as une page blanche il faut trouver les logs pour obtenir l'erreur car sinon impossible de savoir d'où cela vient ^^
Si ça peut servire, voici la procédure de mise en prod "la plus simple" que je m'étais notée :
Etapes pour la mise en production de votre site (OVH mutualisé)
1 : Faire pointer le dossier root sur notre dossier /public
avant de transférer les fichiers. Chez OVH cela se trouve dans l’onglet Multisite
2 : Transférer les fichiers sur le serveur puis modifier le fichier .env.local
: changer la connexion BDD, mettre APP_ENV=prod , etc...
3 : Dans le dossier /public
, créer un fichier .htaccess
et y coller le code suivant :
# --- .htaccess à mettre dans dans /public
RewriteEngine On
# D'abord on redirige tout sur le https
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*) https://%{SERVER_NAME}/$1 [R,L]
# Puis, toutes les urls en .css, .js, etc… sont servies directement
RewriteCond %{REQUEST_URI} \..+$
RewriteCond %{REQUEST_URI} !\.html$
RewriteRule .* - [L]
# Puis, les autres sont redirigées vers index.php
RewriteRule ^(.*)$ index.php [QSA,L]
Nb : En relisant mon htaccess je crois que ta condition sur le /public est mieux que ce que moi j'ai fait. Si tu confirmes que ton .htaccess fonctionne je mettrai à jour, ça pourra être utile à d'autres.