我正在研究symfony教程的jobeet,我有问题通过doctrine获得MySQL数据库的数据库连接。开发环境:Mac OS X和XAMPP。
命令php symfony doctrine:build-schema
给出了以下错误消息:
警告:PDO :: __ construct():[2002]在/ Users / xx / projects / myproject / lib /中没有这样的文件或目录(尝试通过unix:///var/mysql/mysql.sock连接)第470行上的vendor / symfony / lib / plugins / sfDoctrinePlugin / lib / vendor / doctrine / Doctrine / Connection.php
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'存在。
有人能给我一个暗示出了什么问题吗?
答案 0 :(得分:14)
尝试在/var/mysql
的{{1}}中创建一个符号链接:
mysql.sock
答案 1 :(得分:13)
或使用MAMP
cd /var; sudo ln -s /Applications/MAMP/tmp/mysql mysql
答案 2 :(得分:3)
我在Apple mac上遇到了同样的问题并做了以下事情:
cd /var; sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql/ mysql
为我工作。
答案 3 :(得分:3)
在Mac OSX Lion上:
cd /var;
sudo mkdir mysql; cd mysql;
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock
答案 4 :(得分:1)
这种情况也发生在我身上,我使用的是MAMP Pro。如果你使用MAMP Pro,它值得检查主窗口。看看" MySQL"选项卡,然后查看"仅允许本地访问"复选框。如果选中,则应取消选中它。最后,点击,"应用"按钮。