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 :

Problème de kernel dans l'installation d'un bundle


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut Problème de kernel dans l'installation d'un bundle
    Bonjour,

    Je travail sur la nouvelle version Symfony_Standard_Vendors_2.0.0 j'arrive à avoir la page welcome tous marche sans problème.
    J'ai voulu installer un bundle "http://symfony2bundles.org/knplabs/MenuBundle" j'ai suivi étape par étape l'installation mais il semble y avoir un soucis au niveau du Appkernel :
    Fatal error: Class 'Knplabs\MenuBundle\KnplabsMenuBundle' not found in C:\Inetpub\wwwroot\MyApplication\app\AppKernel.php on line 30
    pourtant j'ai bien suivi la structure dans l'installation.
    Voici l'architecture de mon dossier : src/knplabs/MenuBundle/...
    Dans autoload.php dans $loader->registerNamespaces(array( : 'Knplabs' => __DIR__.'/../src',
    Et dans AppKernel dans registerBundles() : new Knplabs\MenuBundle\KnplabsMenuBundle(),

    Si quelqu'un peut me débloquer je l'en remercie grandement.

  2. #2
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    Je ne connais pas ce bundle et ne l'ai jamais testé.

    Par contre, je me méfierais beaucoup des bundles actuellement sur le repository. En effet, la totalité d'entre eux ou la très grande majorité dirons nous, à la date d'aujourd'hui, ont été développés avec des versions béta de Sf2. Hors celles-ci étaient souvent incompatibles entre elles.

    Il est donc très probable que ton bundle ne soit pas compatible avec la version définitive que tu utilises. Il convient donc, non seulement de bien suivre les procédures d'installation, ce que tu as très certainement fait, mais aussi d'en re-développer une partie ou du moins de réorganiser les fichiers et méthodes...

    Je pense qu'il faudra bien 6 mois avant d'avoir une bibliothèque correcte et conséquente de bundle pour la version 2.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut
    Merci pour ta réponse mais je ne suis pas sur que ça vienne du bundle car quand moi je créé un bundle "init:bundle" et que je le déclare dans l'autoload et le kernel il me fait la même erreur.
    Je ne trouve vraiment pas d'où vient mon problème.
    Après j'ai peut être pas bien assimilé toute la structure, j'ai essayé de copier coller le projet demo dans un nouveau bundle test en changeant le routage et il me met pas d'erreur j'arrive bien sur la page welcome.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Février 2009
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 66
    Points : 82
    Points
    82
    Par défaut
    L'enregistrement des namespaces se fait sur l'architecture dossier et est sensible à la casse.

    Essaye de renommer ton dossier en :

    "src/Knplabs/MenuBundle"

  5. #5
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut
    C'est fait, j'ai toujours la même erreur mais ça m'évitera surement des problème pour plus tard ! Merci

  6. #6
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    A priori tes paramètres sont correctement renseigné tant dans l'autoload que dans le kernel.

    Il est possible qu'il reste une différence niveau majuscule et minuscule.

    Normalement ton EDI devrait t'aider dans cette saisie, ce serait bien de les refaire en lui laissant trouver la bonne orthographe...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Points : 511
    Points
    511
    Par défaut
    Tu as vider ton cache ?

  8. #8
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut
    Oui pas de soucis pour le cache la nouvelle commande c'est bien le cache:warmup ? en tout cas ça ne change rien.

    Auriez vous peut être un exemple de vos projet à m'envoyer si chez vous l'intégration d'un bundle fonctionne (pas sur la bêta).

    Merci si vous me dite que vous avez un projet qui fonctionne je vous envoi mon adresse mail par mp si mon adresse n'est pas visible.

  9. #9
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    J'ai eu des surprises (cache non complètement vide) avec warmup.

    Donc j'efface à la main (eu batch, un bon vieux delete...).

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Points : 511
    Points
    511
    Par défaut
    le symfony cc n'existe plus, cache warmup permet de générer toutes tes routes et fichiers de config ( pour éviter que ça se fasse à l'exécution de ton appy ). La seul solution est donc ( pour les unixien ) un bon vieux rm -rf cache/* ( d'ailleurs ça été une private joke de fabien potencier pendant le dernier sflive ).

  11. #11
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    Ca donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     del ./app/cache/* -recurse
    en power shell

  12. #12
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut
    C'est bien sympa votre commande mais je travaille sous windows mais je ne pense vraiment pas que ce soit le problème j'ai fait un debug pour y voir plus claire.
    Il semblerai que tout ce passe dans le loadClass du bootstrap.php tous les bundle se charge sauf au moment ou le mien ce charge dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     if (file_exists($file)) {
           require $file;
           return;
    il passe dans l'autre boucle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach ($this->namespaceFallback as $dir) {
    et le programme s'arrête.

    Quand je regarde le lien dans $file il pointe bien sur mon bundle comme tout les autres sans aucune erreur de majuscule ou autre seul les slash et anti-slash sont pas tous pareil mais ça le fait aussi pour les autre bundle et eux ils fonctionnent là je doit avouer que je sais plus quoi faire je vous le redemande si vous avez un projet fonctionnel sans rien dedans juste un bundle créé avec rien dedans qui fait pas planter le programme quand on le déclare dans le kernel vous me sauveriez la vie !

    Pour info j'ai testé sur windows xp et netbean avec wamp et sur WS2003 PHPEdit et IIS.

  13. #13
    Expert éminent
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    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
    Points : 8 486
    Points
    8 486
    Par défaut
    J'ai récupéré une application créé en PR6 dans la dernière version, pas sans mal

    Mais elle tourne.

    Vérifie que l'autoload voie bien ton application.

    J'ai eu des problèmes, mais aucun au niveau du chargement des bundles.

    Si tu prends la sandbox de base, sans rien , ça tourne ?


    PS: Pour info, le power shell est ce qui remplace la boite dos sous windows...

  14. #14
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    107
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 107
    Points : 67
    Points
    67
    Par défaut
    Ça y est on a trouvé la réponse !
    Enfaite le problème venait de la commande quand j'initialisai un bundle

    php app\console init:bundle MyBundle src\My

    enfaite il faut tapper :

    php app\console init:bundle "My\MyBundle" src MyBundle

    et là ça fonctionne ! J'ai plus de problème de kernel, je comprend pas qu'il valide ma première commande si elle est pas bonne...

    Enfin ça résolve surement pas mon problème au niveau d'un bundle externe je vais maintenant m'y pencher dessus.

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    195
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2010
    Messages : 195
    Points : 511
    Points
    511
    Par défaut
    oui il faut avec la méthode init:bundle mettre les arguments entre guillemet

Discussions similaires

  1. [Lazarus] Problème de chemin dans l'installation de composants
    Par ChPr dans le forum Lazarus
    Réponses: 7
    Dernier message: 06/07/2013, 10h45
  2. Réponses: 1
    Dernier message: 01/02/2009, 00h46
  3. Réponses: 3
    Dernier message: 26/03/2008, 14h42
  4. probléme dans l'installation d'ubuntu 7.04
    Par onlytime dans le forum Ubuntu
    Réponses: 7
    Dernier message: 16/09/2007, 20h25
  5. [Oracle] Problème dans l'installation du module OCI8
    Par guidav dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 19/07/2006, 11h44

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