0

当我使用 compser.phar 为 symfony2 项目进行更新时:

php composer.phar update

更新后运行项目时出现此错误:

ParameterNotFoundException: You have requested a non-existent parameter "database_accounts_driver".

这是我的 config.yml :

# Doctrine Configuration
doctrine:
dbal:
    default_connection:       default
    connections:
        default:
            driver:   "%database_driver%"
            host:     "%database_host%"
            port:     "%database_port%"
            dbname:   "%database_name%"
            user:     "%database_user%"
            password: "%database_password%"
            charset:  UTF8
        accounts:
            driver:   "%database_accounts_driver%"
            host:     "%database_accounts_host%"
            port:     "%database_accounts_port%"
            dbname:   "%database_accounts_name%"
            user:     "%database_accounts_user%"
            password: "%database_accounts_password%"
            charset:  UTF8

还有我的 parameter.yml :

parameters:
database_driver:   pdo_mysql
database_host:     127.0.0.1
database_port:     ~
database_name:     symfony
database_user:     root
database_password: ~

mailer_transport:  smtp
mailer_host:       127.0.0.1
mailer_user:       ~
mailer_password:   ~

locale:            en
secret:            ThisTokenIsNotSoSecretChangeIt

最后是我的 appkernel :

$bundles = array(
        new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
        new Symfony\Bundle\SecurityBundle\SecurityBundle(),
        new Symfony\Bundle\TwigBundle\TwigBundle(),
        new Symfony\Bundle\MonologBundle\MonologBundle(),
        new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
        new Symfony\Bundle\AsseticBundle\AsseticBundle(),
        new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
        new JMS\AopBundle\JMSAopBundle(),
        new JMS\DiExtraBundle\JMSDiExtraBundle($this),
        new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),

任何想法?

4

1 回答 1

1

如我所见,您的parameters.yml中没有定义database_accounts_driver您有database_driver、database_host、database_name ...购买NOT database_ACCOUNTS_driver(也不是database_accounts_host等...)

如果你想对默认和账户配置使用不同的参数,你必须在你的 parameters.yml 中定义它:

parameters:
    database_driver:   pdo_mysql
    database_host:     127.0.0.1
    database_port:     ~
    database_name:     symfony
    database_user:     root
    database_password: ~

    database_accounts_driver:   pdo_mysql
    database_accounts_host:     127.0.0.1
    database_accounts_port:     ~
    database_accounts_name:     whatever
    database_accounts_user:     whatever
    database_accounts_password: blablabla

    mailer_transport:  smtp
    mailer_host:       127.0.0.1
    mailer_user:       ~
    mailer_password:   ~

    locale:            en
    secret:            ThisTokenIsNotSoSecretChangeIt
于 2013-06-27T07:58:37.373 回答