【发布时间】:2013-03-04 00:14:12
【问题描述】:
我正在为我和一些朋友正在进行的一个项目学习 Symfony2,并且正在学习使用 Symfony2 制作博客的教程:http://tutorial.symblog.co.uk/docs/doctrine-2-the-blog-model.html
问题
我似乎无法让 Doctrine2 工作。我向终端发出以下指令:
php app/console doctrine:database:create
并得到以下错误信息:
无法为名为@987654323@ 的连接创建数据库 SQLSTATE[HY000] [2002] 连接被拒绝
系统信息
我有一台运行 Mountain lion 的 Mac,我使用 MAMP。
我做了什么
我去了配置页面(http://localhost/NameOfProject/web/config.php),然后去了你配置数据库的地方。我在那里输入了 MAMP 起始页的路径、端口、用户、密码等。
我的尝试
我遇到的一个博客建议使用以下命令创建指向 MAMP mysql 套接字的符号链接:
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock
这并没有让我的错误消失。
我在 symfony 中的一些文件(如果它们是相关的)
来自app/config/config.yml:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: '8889'
database_name: symfony
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: 0408312e2b9861c0c86dbb7488aceec4296054ec
database_path: /Applications/MAMP/tmp/mysql/mysql.sock
来自app/config/parameters.yml:
parameters:
database_driver: pdo_mysql
database_host: 127.0.0.1
database_port: '8889'
database_name: symfony
database_user: root
database_password: root
mailer_transport: smtp
mailer_host: 127.0.0.1
mailer_user: null
mailer_password: null
locale: en
secret: 0408312e2b9861c0c86dbb7488aceec4296054ec
database_path: /Applications/MAMP/tmp/mysql/mysql.sock
本教程讨论了更新位于 app/config/parameters.ini 的参数文件中的 database_* 选项。但是,我在此文件夹中没有 parameters.ini 文件!仅限parameters.yml。
编辑:解决方案:
我为 MySql 使用了错误的端口号。当我使用 3306 时,它起作用了。
【问题讨论】:
-
您确定需要指定database_path吗?此外,“连接被拒绝”表明已找到主机并且没有人在该特定端口上侦听。您的
mysql是否监听 8889 端口?标准mysql端口是3306... -
非常感谢 jperovic,这解决了问题!
-
除非我误解了什么,jperovic,您的回答似乎是作为评论给出的,因此我不能正式“接受”您的回答。不过还是非常感谢!! :)
-
啊,是的,这只是一个建议。我现在会写一个答案,以便您成功关闭问题;)
标签: symfony doctrine-orm