IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 PHP Discussion :

Question de routing et de déploiement


Sujet :

PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut Question de routing et de déploiement
    Bonjour,

    Voilà mon site est presque terminé.
    (je remercie d'ailleurs ceux qui m'ont aidé ici auparavant)

    Je me pose encore des questions sur le routing (une des choses les plus obscures pour moi) de symfony...

    Voilà j'ai des liens que je crée de la sorte :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo url_for('@index_p') ?>">Mes blablas</a>
    avec un routing de ce genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    index_p:
      url:  /bla.:sf_format
      param: { module: truc, action: index, sf_format: html }
    il me produit en html un lien de ce type (en version dev):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/frontend_dev.php/bla">Mes blablas</a>
    Et en production (chose plus étrange puisque ca ne marche pas) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/bla">Mes blablas</a>
    Pour afficher la page, je dois la reécrire de la forme : /index.php/bla pour que ca marche.

    Comment forcer l'affichage du format sur le href ??
    Est-ce que cette histoire de "index.php" qui ne s'affiche pas en prod posera un problème lors du déploiement ?
    (j'appréhende un peu le déploiement à vrai dire, je ne m'y sens pas trop préparer bien que je lis les tutos)

    merci

  2. #2
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    A 95% de (mal) chance cela provient de la configuration d'apache, notamment du fichier .htaccess qui n'est pas pris en compte.

    Vérifie aussi que le "rewrite" d'apache est bien configuré et initialisé.

    Dans les 5% qui restent il y a IIS... et plein d'autres choses moins ciblées.

    N'oublie pas non plus la commande magique (en symfony) : symfony cc

  3. #3
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    dans apps/tonApplication/config/settings.yml

    Code yml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    prod:
      .settings:
        no_script_name:         on
        logging_enabled:        off
     
    dev:
      .settings:
        error_reporting:        <?php echo (E_ALL | E_STRICT)."\n" ?>
        web_debug:              on
        cache:                  off
        no_script_name:         on
        etag:                   off

    regardes uniquement la propriété "no_script_name" à false symfony ne met pas l'extension du fichier (index.php à l'occurence) par défaut il me semble qu'en prod est à false et en dev à true, c'est pour ça que tu as index_dev.php en dev et rien en prod

    après, Michel Rotta a raison, ça doit venir de ton .htaccess qui ne doit pas bien envoyer la requête à index.php, généralement avec le .htaccess fourni par défaut avec symfony marche bien, il se peut que le module "rewrite_module" d'appache ne soit pas activé et donc les reécritures d'url du .htaccess pas prises en compte

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    @Polkduran
    En fait j'avais le prod à true et je l'ai mis à false pour que ca marche.
    @Michel
    J'ai aussi activé le module rewrite.
    Donc ca marche bien en version production en local.

    Si je fais une route comme ceci ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    index_p:
      url:  /bla.:sf_format
      param: { module: truc, action: index, sf_format: html }
    Je voulais faire cela pour que ca fasse un lien de type /bla.html.
    Mais ca ne fais rien avec un lien de ce style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo url_for('@index_p?sf_format=html') ?>">Mes blablas</a>
    Ca m'affiche toujours /bla.
    J'ai du loupé quelque chose...

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Dans le cas où tu ne gères qu'un format tu peux te passer d'envoyer l'argument.

    Je pense même que tu peux directement faire ton lien en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    index_p:
      url:  /bla.html
      param: { module: truc, action: index }
    et le code template
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="<?php echo url_for('@index_p') ?>">Mes blablas</a>

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 34
    Par défaut
    Et bien c'est ce que j'ai fait. Merci

Discussions similaires

  1. Question de déploiement et Mise à jour
    Par webgig2002 dans le forum VB.NET
    Réponses: 4
    Dernier message: 08/02/2009, 04h47
  2. Réponses: 5
    Dernier message: 11/11/2008, 18h11
  3. [WSS3] Question Déploiement
    Par vds2302 dans le forum SharePoint
    Réponses: 2
    Dernier message: 16/07/2007, 17h01
  4. question sur le déploiement d'application access
    Par tojiji dans le forum Access
    Réponses: 4
    Dernier message: 18/07/2006, 11h38
  5. [Crystal Report .NET] question coût déploiement
    Par Dranor dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 21/09/2004, 09h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo