1

我正在使用 symfony 2.1.2、FOSuserBundle、SonataAdminBundle、SonataUserBundle 和 SonataMediaBundle。问题是我无法访问我的数据库并收到此错误。

这是我的参数.yml

parameters:
    database_driver: pdo_mysql
    database_host: localhost
    database_port: null
    database_name: superlinea
    database_user: root
    database_password: !Admin1234
    mailer_transport: smtp
    mailer_host: localhost
    mailer_user: null
    mailer_password: null
    locale: en
    secret: f4c89326a7c2d2fb848e84dc8b39ea92
    database_path: null

这是我的 config.yml [教义部分:]

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
    orm:
        auto_generate_proxy_classes: %kernel.debug%
        # auto_mapping: true
        # entity_managers:
        #     default:
        #         mappings:
        #             ApplicationSonataMediaBundle: ~
        entity_managers:
            default:
                mappings:
                    ApplicationSonataMediaBundle: ~
                    ApplicationSonataUserBundle: ~
                    SonataUserBundle: ~
                    FOSUserBundle: ~
    dbal:
        types:
            json: Sonata\Doctrine\Types\JsonType

我检查了使用parameters.yml 上的凭据从我的终端连接到mysql,它连接正确。我清除了缓存,但仍然没有使用指定的密码。

有什么帮助吗?

4

3 回答 3

10

问题出在您的 config.yml 中,

dbal:
  types:
    json: Sonata\Doctrine\Types\JsonType

应该进入教义dbal。像这样:

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
        types:
            json: Sonata\Doctrine\Types\JsonType

希望能帮助到你

于 2012-10-04T07:20:37.687 回答
2

在你的 app/config/parameters.yml

# This file is auto-generated during the composer install
parameters:
    database_driver: pdo_mysql
    database_host: 127.0.0.1
    database_port: 3306
    database_name: symfony
    database_user: root
    database_password: "your_password"
    mailer_transport: smtp
    mailer_host: 127.0.0.1
    mailer_user: null
    mailer_password: null
    locale: en
    secret: ThisTokenIsNotSoSecretChangeIt

database_password 应该在双引号 (") 或单引号 (') 内。

我已经看到大多数用户发生这种情况是因为他们使用的密码带有前导零或数字(在我的情况下就是这样)


而且我也尝试过使用 localhost 和双引号密码,但它不起作用。

所以在那种情况下使用

database_host: 127.0.0.1

代替

database_host: localhost
于 2014-12-18T16:19:20.303 回答
2

对于所有遇到此问题的人,只需尝试清除缓存:

php bin/console cache:clear
于 2018-07-23T09:24:04.600 回答