我正在使用symfony 2.1.2,FOSuserBundle,SonataAdminBundle,SonataUserBundle和SonataMediaBundle。问题是我无法访问我的数据库并收到此错误。
这是我的parameters.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 section:]
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并且它正确连接。 我清除了缓存,但仍未使用指定的密码。
任何帮助?
答案 0 :(得分: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
希望有所帮助
答案 1 :(得分: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
答案 2 :(得分:0)
你能把所有参数都放在引号中并设置database_port =“3306”吗?
问题:您是否可以使用SqlYog等程序使用这些参数连接到DB?
答案 3 :(得分:0)
对于所有有此问题的人,只需尝试清除缓存:
php bin/console cache:clear