【问题标题】:Cannot create database connection for Doctrine2 in Symfony2 with MAMP (Connection refused)无法使用 MAMP 在 Symfony2 中为 Doctrine2 创建数据库连接(连接被拒绝)
【发布时间】: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

并得到以下错误信息:

无法为名为@9​​87654323@ 的连接创建数据库 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


【解决方案1】:

我为 MySql 使用了错误的端口号。当我使用标准 mysql 端口 3306 时,它可以工作。 (谢谢 jperovic)

【讨论】:

  • 对于仍然无法解决此问题的用户,请尝试在 MAMP 设置中启用Allow network access to MySQL
猜你喜欢
  • 2023-03-12
  • 1970-01-01
  • 2022-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多