2016-07-11 9 views
0

Ich möchte externe Parameter verwenden, um meine Parameter.yml zu konfigurieren. so folge ich dieses Tutorial:Erreur Cache mit externen Parametern

http://symfony.com/doc/current/cookbook/configuration/external_parameters.html

in meinem parameters.yml ich dies gesetzt haben:

parameters: 
database_host: localhost 
database_port: null 
database_name: '%database.name%' 
database_user: '%database.user%' 
database_password: '%database.pass%' 
mailer_transport: smtp 
mailer_host: localhost 
mailer_user: null 
mailer_password: null 
secret: ThisTokenIsNotSoSecretChangeIt 

es funktioniert, wenn ich meine Website mit diesem Parameter außer laufen, wenn ich löschen Sie den Cache mit Befehlszeile. Ich habe diesen Fehler:

[Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException] 
    You have requested a non-existent parameter "database.name". Did you mean this: "database_name"? 

Haben Sie die Lösung kennen dieses Problem zu lösen. Vielen Dank für Ihre Hilfe

Antwort

0

Zuerst erstellen Sie eine PHP-Datei und die Logica, dann importieren Sie die PHP-Datei in die config.yml und nach dem Kommentar die Variablen in Parameter-Datei. Hast du versucht, so etwas zu tun?

# parameters.php 
$container->setParameter('database_name', $databaseName); 

# app/config/config.yml 
imports: 
    - { resource: parameters.php } 

# app/config/parameters.yml 
#database_name: '%database.name%' 
#database_user: '%database.user%' 
+0

ja, ich habe gerade versucht, und es funktioniert nicht either.I Gefühl es ist, dass diese externen Parameter aus dem PHP-CLI mod – strauss

+0

ich meine Antwort geändert nicht zugänglich sind # parameters.php $ Container-> setParameter (‚database_name‘ , $ datenbankName); Sie können jetzt diese Variable '% database_name%' aufrufen, es funktionierte für mich, @strauss –

+0

ja, es funktioniert, aber wenn Sie Cache per Befehl löschen, werden Sie sehen, dass die Parameter nicht existieren.Es ist sehr seltsam – strauss