Ich konnte keine Möglichkeit finden, verschiedene security.yml
Dateien einzuschließen, die je nach Symfony2-Umgebung enthalten wären. Zum Beispiel wollte ich einen In-Memory-Benutzer-Provider für meine Akzeptanztests haben, da ich meine Entitäten und Zeug hier nicht wirklich testen muss, ich möchte nur einen Akzeptanztest für meine Ansichten machen.Verschiedene security.yml-Dateien für verschiedene Umgebungen
Aber wie sich herausstellte, ist es keine leichte Sache. Ich entfernte security.yml
von enthält in meinem config.yml
, benannte es in security_prod.yml
um und erstellte einen security_test.yml
, der den Benutzerprovider hat. Dann habe ich security_prod.yml
und security_test.yml
in meiner Produktion und Testkonfigurationen enthalten.
Doch scheint es gar nicht arbeiten:
$ SYMFONY_ENV=test app/console cache:clear
[Symfony\Component\Config\Definition\Exception\InvalidConfigurationException]
You are not allowed to define new elements for path "security.providers". Please define all elements for this path in one config file.
$ SYMFONY_ENV=prod app/console cache:clear
[Symfony\Component\Config\Definition\Exception\ForbiddenOverwriteException]
Configuration path "security.access_control" cannot be overwritten. You have to define all options for this path, and any of its sub-paths in one
configuration section.
Es erschien mir wie der security.yml
Dateiname fest einprogrammiert wurde (die für Symfony viel zu seltsam wäre), und es war nicht.
Also die Frage ist: Wie bekomme ich mehrere security.yml
s mit Symfony? Und was könnte dieses Verhalten verursachen?
Können Sie Ihre config.yml config_prod.yml und config_test.yml (oder zumindest die Teile abgeben wo sind die Dateien enthalten? –
@CarlosGranados, danke für deine Besorgnis, aber es stellte sich heraus, dass das Problem in meinem Bürostuhl sitzt. Ich habe meine security.ymls zweimal eingeschlossen :) – kix
Das ist, was ich vermutete, und deshalb habe ich Sie gebeten, diese Dateien –