2010-10-01 4 views
9

Я работаю над учебным пособием по symfony, и у меня возникают проблемы с подключением базы данных к базе данных MySQL через доктрину. Развитие среды: Mac OS X и XAMPP.Нет подключения к базе данных через доктрину в symfony

Команда PHP symfony doctrine:build-schema дает мне следующее сообщение об ошибке:

Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in /Users/xx/projects/myproject/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 470
PDO Connection Error: SQLSTATE[HY000] [2002] No such file or directory

настройки базы данных в database.yml:

all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn: 'mysql:host=localhost;dbname=my_project_db' 
     username: root 
     password: root 

MySQl работает. Имя пользователя и пароль верны. База данных «my_project_db» существует.

Может ли кто-нибудь дать мне подсказку, что происходит не так?

+0

Имеет ли файл /var/mysql/mysql.sock файл? Попробуйте найти этот файл, используя locate, если нет. – greg0ire

+0

есть. это пустой файл в/Applications/XAMPP/xamppfiles/var/mysql/ – skanne

ответ

14

Попробуйте создать символическую ссылку в /var/mysql к вашему mysql.sock:

sudo ln -s /Applications/XAMPP/xamppfiles/var/mysql /var/mysql 
+0

thx. Это работает. – skanne

+0

sudo ln -s/Приложения/XAMPP/xamppfiles/var/mysql/var/mysql – anggriawan

+0

@anggriawan: спасибо за подсказку –

3

У меня была такая же проблема на моем Apple Mac и сделал следующее:

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

работал для меня.

12

Или с MAMP

cd /var; sudo ln -s /Applications/MAMP/tmp/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», а затем установите флажок «Разрешить локальный доступ». Если он установлен, его следует снять. Наконец, нажмите кнопку «Применить».

Смежные вопросы