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


Mnemosian
Réponse acceptée

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**

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

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

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é