2015-08-21 140 views
0

當我運行config_test.yml設置:配置

app/console --env=test debug:config security 

我仍然看到我的生產設置從security.yml,不是我的測試設置從config_test.yml。任何想法爲什麼?

+0

請貼上你的'config_test.yml'內容。 –

+0

我顯然不打算在這裏發佈我的*實際*安全配置,但您可以在下面的自我回答中看到一個假示例。 –

回答

1

看來我不得不在我的安全配置中遞歸覆蓋每個項目。例如,假設我security.yml看起來像這樣:

firewalls: 
    firewall_a: 
     pattern: ^/api 
     complicated_oauth_security: {} 
    firewall_b: 
     pattern: ^/ 
     complicated_username_password_security: {} 

和想象測試我想要的東西,看起來像這樣:

firewalls: 
    only_one_firewall_for_everything: 
     pattern: ^/ 
     http_basic: ~ 

config_test.yml需求的實際內容是這樣的:

firewalls: 
    firewall_a: 
     # I can leave out "pattern", since that isn't changing. 
     complicated_oauth_security: false 
     http_basic: ~ 
    firewall_b: 
     complicated_username_password_security: false 
     http_basic: ~ 

我認爲在config_test.yml重新宣佈防火牆將取代整個事情,但這不是它的工作原理。您必須覆蓋您想要更改的每個單獨項目。