我正在学习Symfony的书,并学习了关于处理数据库的章节。我有几个问题,似乎找不到答案。
我只是遵循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
我有几个问题:
- 我该如何修复
- 数据库服务器在哪里?它是我在Composer上安装Symfony2时出现的吗
经过长时间的搜索,我找到了它。正如评论中所指出的,它与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`
数据库真的创建了。
Symfony没有安装mysql,我假设您在灯堆栈中工作。
如果我记得很清楚的话,它曾经发生在我身上,我将database_host:127.0.0.1更改为localhost,从那以后它运行得很好。