2017-04-10 70 views
2

我的應用程序中的Symfony 3.2.4和PHP 28年6月5日Symfony3 - SwiftMailer:不存在的參數 「mailer_encryption」

一切是最新的: 我SwiftMailer版本:

的symfony/swiftmailer束(v2.5.4)

當我看到它寫的,我可以像這樣SwiftMailer添加參數官方文檔:

config.yml

swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    encryption: "%mailer_encryption%" 
    port: "%mailer_port%" 
    spool:  { type: memory } 
    logging: true 

parameters.yml

parameters: 
    database_host: localhost 
    database_port: null 
    database_name: BASE 
    database_user: root 
    database_password: root 
    mailer_host: smtp-relay._.com 
    mailer_port: 587 
    mailer_transport: smtp 
    mailer_encryption: tls 
    mailer_user: - 
    mailer_password: - 
    secret: - 

但是當我運行一個 「作曲家更新」 我總是得到同樣的錯誤:

[ Symfony \ Component \ DependencyInjection \ Exception \ ParameterNotFoundException] You已請求不存在的參數「mailer_encryption」

我在config.yml評論「加密」和「端口」,並再次做了「作曲家更新」。

這是SwiftMailer Bundle的正常行爲?有人能幫我嗎 ?

我正在使用FOSuser。

回答

3

我解決這一個星期前是這樣的:

# Swiftmailer Configuration 
swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    encryption: tls 
    port: 587 
    spool:  { type: memory } 
    logging: true 
4

如果有人再次遇到這個問題,是因爲在更新,作曲家着眼於parameters.yml.dist正在使用的模板,如果你有參數parameters.yml它們不會出現在模板中,它們將被刪除。

所以在parameters.yml.dist你將不得不添加字段:

paremeters: 
    .... 
    mailer_transport: smtp 
    mailer_host:  127.0.0.1 
    mailer_encryption: ~ (<!-- this line was added -->) 
    mailer_user:  ~ 
    mailer_password: ~ 
    ... 

那麼你就可以像以前那樣在parameters.yml添加值和config.yml

swiftmailer: 
    transport: "%mailer_transport%" 
    host:  "%mailer_host%" 
    username: "%mailer_user%" 
    password: "%mailer_password%" 
    encryption: "%mailer_encryption%" (<!-- like this -->) 
    port:  587  
    spool:  { type: memory } 
    logging: true 

同樣的道理也適用於使用港口