[Symfony2] Erreur de Création de Bundle

Par aliounemane2, il y a 10 ans


Bonjour,
Je voudrais utilisé le FOUSERBUNDLE mais son insllation s'est bien passé
c'est à dire que j'ai éditer le fichier composer.json en ajoutant ceci :

"require": { // … "friendsofsymfony/user-bundle": "dev-master" }

ensuite j'ai installé la dépendance suivante :

php composer.phar update friendsofsymfony/user-bundle

j'ai activé le bundle en éditant le fichier AppKernel.php

<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // … new FOS\UserBundle\FOSUserBundle(), ); }

Et maintenant lorsque je voudrais créer le Bundle UserBundle en tapant la commande suivante

php app/console generate:bundle

cela m'affiche cet erreur :

[Symfony\Component\Config\Definition\Exception\InvalidConfiguration The child node "db_driver" at path "fos_user" must be configured.

Aidez moi s'il vous plait

4 réponses

JacobDelcroix, il y a 10 ans

Car FOSUser nécessite quelques configurations, tout est indiqué dans la documentation. Une fois que tu auras tout installé correctement tout refonctionnera.

Mnemosian, il y a 10 ans

Dans ton security.yml tu crées un provider que tu appelles fos_userbundle: et dans ton firewall tu appelles un provider main. Change le main par fos_userbundle et ça devrait être mieux**

aliounemane2, il y a 10 ans

Merci beaucoup pour cette information toujours j'essaye de continuer l'installation mais cela m'affiche cet erreur

Whoops, looks like something went wrong. 1/1 ServiceNotFoundException in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58: The service "security.authentication.manager" has a dependency on a non-existent service "security.user.provider.concrete.main". 1. in CheckExceptionOnInvalidReferenceBehaviorPass.php line 58 2. at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(object(Reference), object(Reference), 'main', object(Reference), true)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 42 3. at CheckExceptionOnInvalidReferenceBehaviorPass->processDefinition(object(Definition)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 53 4. at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(object(Definition), object(Definition), object(Definition))) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 51 5. at CheckExceptionOnInvalidReferenceBehaviorPass->processReferences(array(array(object(Definition), object(Definition), object(Definition)), true)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 42 6. at CheckExceptionOnInvalidReferenceBehaviorPass->processDefinition(object(Definition)) in CheckExceptionOnInvalidReferenceBehaviorPass.php line 36 7. at CheckExceptionOnInvalidReferenceBehaviorPass->process(object(ContainerBuilder)) in Compiler.php line 117 8. at Compiler->compile(object(ContainerBuilder)) in ContainerBuilder.php line 614 9. at ContainerBuilder->compile() in bootstrap.php.cache line 2609 10. at Kernel->initializeContainer() in bootstrap.php.cache line 2387 11. at Kernel->boot() in bootstrap.php.cache line 2418 12. at Kernel->handle(object(Request)) in app_dev.php line 28

Voici le code de mon fichier routing.yml

fos_user_security: resource: "@FOSUserBundle/Resources/config/routing/security.xml" fos_user_profile: resource: "@FOSUserBundle/Resources/config/routing/profile.xml" prefix: /profile fos_user_register: resource: "@FOSUserBundle/Resources/config/routing/registration.xml" prefix: /register fos_user_resetting: resource: "@FOSUserBundle/Resources/config/routing/resetting.xml" prefix: /resetting fos_user_change_password: resource: "@FOSUserBundle/Resources/config/routing/change_password.xml" prefix: /profile

Le code qui se trouve dans le ficher security.yml

security: encoders: FOS\UserBundle\Model\UserInterface: sha512 role_hierarchy: ROLE_ADMIN: ROLE_USER ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH] providers: fos_userbundle: id: fos_user.user_provider.username firewalls: main: pattern: ^/ anonymous: true provider: main form_login: login_path: fos_user_security_login check_path: fos_user_security_check logout: path: fos_user_security_logout target: /platform remember_me: key: %secret%

En mode console lorsque je tape la commande

php app/console router:debug

Cela m'affiche l'erreur suivant:

[Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException] The service "security.authentication.manager" has a dependency on a non-exi stent service "security.user.provider.concrete.main".

Aidez-moi S'il vous plait à résoudre ce probléme

nicovak, il y a 10 ans

Bonsoir,

  • Supprime ton dossier vendor
  • Supprime ton composer.lock
  • Supprimer l'entrée friendsofsymfony/user-bundle de ton composer.json
  • Supprimer la ligne new FOS\UserBundle\FOSUserBundle(),
  • Lance la commande php composer.phar require friendsofsymfony/user-bundle afin de s'assurer que toutes les dependant sont installées.
  • Ré-active le bundle depuis l'appkernel une fois le composer terminé