我正在关注Symfony的书,并于the chapter on dealing with the database到达。我有几个问题,似乎无法找到答案。
我只是关注我看起来像这样的(自动生成的)
的parameters.yml文件parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: null
database_name: myproject
database_user: root
database_password: null
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: ThisTokenIsNotSoSecretChangeIt
debug_toolbar: true
debug_redirects: false
use_assetic_controller: true
然后我前往终点站并输入:
php app/console doctrine:database:create
我收到以下错误:
Could not create database for connection named `myproject`
SQLSTATE[HY000] [2002] Connection refused
我有几个问题:
答案 0 :(得分:3)
经过长时间的搜索,我发现了它。它与mysql.default_socket有关,正如评论中所指出的那样。
MAMP向我展示了插座
':/Applications/MAMP/tmp/mysql/mysql.sock'
在做了一些搜索之后,我发现套接字可以在config.yml中设置,这里:
doctrine:
dbal:
driver: "%database_driver%"
[...]
unix_socket: "/Applications/MAMP/tmp/mysql/mysql.sock"
[...]
如果没有unix_socket行,只需添加即可。然后尝试在Terminal中执行相同的命令,结果为:
Created database for connection named `myproject`
真正创建了数据库。
答案 1 :(得分:1)
Symfony没有安装mysql我假设您正在使用灯堆。
如果我记得很清楚它发生在我身上,我将database_host:127.0.0.1更改为localhost,从那以后效果很好。