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

Symfony PHP Discussion :

Utiliser sf2 sur son hébergeur lorsque ce dernier est "centralisé" [2.x]


Sujet :

Symfony PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Utiliser sf2 sur son hébergeur lorsque ce dernier est "centralisé"
    Bonjour à tous, je viens une seconde vous demander de l'aide (et j'espère que c'est bien la dernière ! )

    J'arrive au moment quasi-crucial de mon projet : le mettre en ligne.

    Etant un petit projet (qui va s'agrandir au fil du temps) réservé à petit cercle de personnes, j'ai opté pour un service simple mais efficace : l'offre gratuit d'alwaysdata qui permet d'avoir 10mo d'espace (suffisant), symfony2 d'intégré, accès ssh... Donc pratique.

    Cependant j'ai du mal à mettre en place mon projet dessus.

    Les fichiers sources du framework se trouvent dans /usr/local/alwaysdata/php/symfony/2.0.0/.
    Mon espace personnel se trouve dans /home/monEspace/ (c'est dedans qu'on trouve les dossiers www/ etc).

    J'ai donc commencé par créer mon bundle dessus (via generate:bundle) pour le mettre dans mon dossier personnel (monEspace).
    J'ai ensuite fait un lien symbolique (www/index.php) vers le fichier app.php.

    Et c'est là que ça se gâte : il ne trouve rien. Mais j'ai bien l'impression qu'il a ouvert app.php, le message d'erreur est typique de symfony2. D'ailleurs en essayant avec app_dev.php, il le trouve sans problème (mais j'ai pas le droit d'y accéder ).


    Donc où ai-je pêché ? Sûrement lors de la création du bundle, car il m'a mis un message d'erreur disant qu'il n'avait pas le droit d'écrire dans le kernel (donc il n'arrive sûrement pas à faire le lien avec mon bundle ?).

    Bref, je suis un peu perdu du coup.

    Je vous remercie par avance pour votre aide, quelle qu'elle soit !

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 694
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 694
    Points : 188 894
    Points
    188 894
    Par défaut


    Citation Envoyé par insow Voir le message
    (mais j'ai pas le droit d'y accéder ).
    C'est le contrôleur de débogage sans modification ? Si oui, c'est tout à fait normal.

    Citation Envoyé par insow Voir le message
    Bref, je suis un peu perdu du coup.
    Nous aussi : quel est le message d'erreur ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Merci d'avoir répondu si vite, et désolé j'avais oublié que vous n'étiez pas encore devin.

    Message d'erreur (j'aurais dû préciser que c'était une "bête" erreur 404, toutes mes excuses ) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Oops! An Error Occurred
     
    The server returned a "404 Not Found".
     
    Something is broken. Please e-mail us at [email] and let us know what you were doing when this error occurred. We will fix it as soon as possible. Sorry for any inconvenience caused.
    Donc comme je le disais, on reconnait le message renvoyé par sf2, donc le fichier est bien "chargé".

    J'ai évidemment pensé à un problème de rooting, mais voici le rooting.yml de mon bundle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SafFormulasBundle_homepage:
        pattern:  /hello/{name}
        defaults: { _controller: SafFormulasBundle:Default:index }
    J'ai donc appelé gentiment http://sacaformules.alwaysdata.net/i...hp/hello/world, erreur 404, puis http://sacaformules.alwaysdata.net/i...af/hello/world (Saf étant le nom du projet qui, normalement, contient les bundles), erreur 404 également.

    Mais en réfléchissant (oui !), je suis allé voir le routing.yml du dossier app/config/, et ce dernier inclu aucune route mis à part :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    # Internal routing configuration to handle ESI
    #_internal:
    #   resource: "@FrameworkBundle/Resources/config/routing/internal.xml"
    #   prefix:   /_internal
    Ce dernier incluant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?xml version="1.0" encoding="UTF-8" ?>
     
    <routes xmlns="http://symfony.com/schema/routing"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://symfony.com/schema/routing http://symfony.com/schema/routing/routing-1.0.xsd">
     
      <route id="_internal" pattern="/{controller}/{path}.{_format}">
        <default key="_controller">FrameworkBundle:Internal:index</default>
        <requirement key="path">.+</requirement>
        <requirement key="_format">[^.]+</requirement>
      </route>
    </routes>
    Donc finalement il me paraît évident qu'il y a un problème de rooting, mais je ne comprends pas comment fonctionne le rooting dans le cas d'une centralisation du framework comme sur alwaysdata.

  4. #4
    Membre averti

    Inscrit en
    Juin 2008
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 307
    Points : 364
    Points
    364
    Par défaut
    Elle est ou la doc d''installation d'un site sous symfony2 sur alwaysdata ? je ne la trouve pas dans le wiki.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Elle n'y est pas, ils parlent de la version 1.4.x mais c'est quelque peu différent de sf2.

    Cependant on m'a répondu sur le forum d'alwaysdata, et ça me semble être la bonne manière d'utiliser le framework sur alwaysdata (post #7 de MaTiK) : http://forum.alwaysdata.com/viewtopic.php?pid=9954

    Je cite, -MaTiK- :

    Bonjour,
    À mon avis, dans le cas d'une installation centralisée, la solution est dans le lien symbolique.
    Dans l'idée, il faut :

    1. Copier les dossiers app/ et web/ dans son espace
    2. Créer le dossier src/ et y placer son bundle complet (le dossier du namespace)
    3. Faire un lien symbolique vers le reste, surtout le dossier vendor/ (C'est celui qui prend le plus d'espace)
    4. Et enfin ajouter son bundle dans le fichier app/AppKernel.php (cf. la doc symfony2)


    Plus : On gagne un peu plus d'espace en faisant des sous-dossiers de web/bundles/ des liens symboliques aussi

    Plus : Il est conseillé de supprimer le bundle par défaut (Acme)
    Je précise que je n'ai pas testé cette installation, donc il se peut qu'il y ai des erreurs, mais l'idée est là.

    PS : La version 2.0.1 est sortie, il serait pratique de la rendre disponible via /usr/local/alwaysdata/php/symfony/2.0.1

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2011
    Messages : 13
    Points : 9
    Points
    9
    Par défaut
    Je poste une dernière fois pour dire que le problème est résolu pour ma part (voir le fil de la discussion).

    Pour ceux qui tomberont sur cette page sur google, voici comment j'ai procédé pour utiliser un sf2 centralisé (avec un serveur linux) :

    1. Lier son espace au framework centralisé
      • Copier les dossiers app/ et web/ (et éventuellement src/ si vous voulez Acme)
      • Créer un lien symbolique vers vendor/ et bin/
      • Créer le dossier src/ dans lequel il aura vos propres bundles (s'il n'a pas déjà été copié)

      Ces dossiers doivent se trouver évidemment dans le dossier www/ pour pouvoir y accéder via le navigateur.
    2. Supprimer le contenu du dossier app/cache/ (ça évite beaucoup de problème !)
    3. Cas particuliers : ça peut paraître évident mais activer tous les services nécessaires si demandés (pour ma part, j'avais eu des problèmes avec SQLite3, une modification du php.ini a suffi)


    Merci dourouc05 pour t'être intéressé à mon problème !

  7. #7
    Membre averti

    Inscrit en
    Juin 2008
    Messages
    307
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 307
    Points : 364
    Points
    364
    Par défaut
    Sympa de poster la réponse. Et ca va c'est pas trop lent même sans APC ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Peut-on utiliser SF2 sur un hebergement mutualisé ?
    Par Anardil dans le forum Symfony
    Réponses: 5
    Dernier message: 27/09/2011, 15h23
  2. Installer Zend sur son hébergeur web
    Par pierreluc.ca dans le forum Zend Framework
    Réponses: 2
    Dernier message: 23/09/2011, 11h35
  3. Qui utilise aspsmartmail sur son serveur ?
    Par delavega dans le forum ASP
    Réponses: 0
    Dernier message: 20/03/2009, 16h14
  4. [CKEditor] Qui utilise FCKeditor sur son site php pour config ?!
    Par guy2004 dans le forum Bibliothèques & Frameworks
    Réponses: 62
    Dernier message: 26/10/2005, 19h24

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