我是symfony的新手,我正试图通过学说创建一个实体,我正在使用Windows和xampp。
在一个cmd中,我让服务器运行(php bin/console server:run)
在另一个cmd中,我尝试使用php bin/console doctrine:generate:entity
它询问我的实体快捷方式名称(BlogBundle:Post
)之后我得到三个相同类型的错误;
SQLSTATE[HY000] [1045] access denied for user 'root'@'localhost' (using password: NO)
我用Google搜索,发现,因为我已经在xampp中拥有数据库,并更改了密码。因此我应该在parameters.yml中更改我的密码,我做了(我还在phpMyAdmin中创建了一个空的symfony数据库);
# This file is auto-generated during the composer install
parameters:
database_host: 127.0.0.1
database_port: null
database_name: symfony
database_user: root
database_password: mypassword
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
secret: ac8be0befa84f2aeda5d2e9068a7ae2e948376fb
我的config.yml文件的学说部分看起来像这样;
# Doctrine Configuration
doctrine:
dbal:
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: "%kernel.project_dir%/var/data/data.sqlite"
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: '%database_path%'
orm:
auto_generate_proxy_classes: '%kernel.debug%'
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
在此之后我仍然得到三个错误,只有'密码:否'更改为'密码:是';
SQLSTATE[HY000] [1045] access denied for user 'root'@'localhost' (using password: YES)
有人能告诉我哪里出了问题以及我应该改变什么?
我已经尝试了SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)中的所有内容。将主机从127.0.0.1更改为localhost,将端口更改为3306,将密码放在引号中,SonataUserBundle部分不适用于此处。
答案 0 :(得分:3)
我在抛出mysql时遇到了相同的错误,解决方案是将密码包装在单引号中
database_password: 'mypassword'