Symfony中使用Doctrine无法连接数据库

9
我正在进行Symfony教程Jobeet的工作,但我在通过Doctrine连接到MySQL数据库时遇到了问题。开发环境:Mac OS X和XAMPP。
命令php symfony doctrine:build-schema给出以下错误消息:

警告:PDO::__construct():[2002]没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock连接)位于/Users/xx/projects/myproject/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php的第470行
PDO连接错误:SQLSTATE [HY000] [2002]没有这样的文件或目录

数据库设置在database.yml中:
 all:
  doctrine:
    class: sfDoctrineDatabase
    param:
      dsn: 'mysql:host=localhost;dbname=my_project_db'
      username: root
      password: root

MySQL正在运行。用户名和密码正确。数据库'my_project_db'存在。

有人能给我一个提示出了什么问题吗?


/var/mysql/mysql.sock文件存在吗?如果不存在,请尝试使用locate命令查找该文件。 - greg0ire
是的,它是位于/Applications/XAMPP/xamppfiles/var/mysql/目录下的空文件。 - skanne
5个回答

14
尝试在/var/mysql中创建一个符号链接指向你的mysql.sock文件:
sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql /var/mysql

sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql /var/mysql - anggriawan

13

或者使用 MAMP。

cd /var; sudo ln -s /Applications/MAMP/tmp/mysql mysql 

3

我在我的苹果电脑上遇到了同样的问题,我采取了以下措施:

cd /var; sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/ mysql

对我有用。


3
在Mac OSX Lion上:
cd /var;
sudo mkdir mysql; cd mysql;
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

1
这种情况也发生在我身上,而我使用的是MAMP Pro。如果你也使用MAMP Pro,那么值得检查主窗口。看看“MySQL”选项卡,然后找到“仅允许本地访问”的复选框。如果它被勾选了,你应该取消勾选。最后,点击“应用”按钮即可。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接