2010-10-01 9 views
9

Pracuję nad tutorialem symfony i mam problemy z uzyskaniem połączenia z bazą danych MySQL przez doktrynę. Środowisko programistyczne: Mac OS X i XAMPP.Brak połączenia z bazą danych przez doktrynę w Symfony

php polecenia symfony doctrine:build-schema daje mi się następujący komunikat o błędzie:

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

ustawienia bazy danych w database.yml:

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

MySQL działa. Nazwa użytkownika i hasło są poprawne. Baza danych "my_project_db" istnieje.

Czy ktoś może mi podpowiedzieć, co się dzieje?

+0

Czy istnieje plik /var/mysql/mysql.sock? Spróbuj znaleźć ten plik za pomocą zlokalizuj, jeśli nie. – greg0ire

+0

tak. jest to pusty plik w katalogu/Applications/XAMPP/xamppfiles/var/mysql/ – skanne

Odpowiedz

14

Spróbuj utworzyć dowiązania w /var/mysql do swojej mysql.sock:

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

thx. To działa. – skanne

+0

sudo ln -s/Aplikacje/XAMPP/xamppfiles/var/mysql/var/mysql – anggriawan

+0

@anggriawan: dzięki za podpowiedź –

3

miałem ten sam problem na moim Apple Mac i zrobił, co następuje:

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

pracował dla mnie.

12

Albo z MAMP

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

na Mac OSX Lion:

cd /var; 
sudo mkdir mysql; cd mysql; 
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock 
1

Ta sytuacja się również do mnie i używam MAMP Pro. Jeśli używasz MAMP Pro, warto sprawdzić główne okno. Spójrz na zakładkę "MySQL", a następnie zaznacz pole "Zezwalaj tylko na dostęp lokalny". Jeśli jest zaznaczone, odznacz to. Na koniec kliknij przycisk "Zastosuj".

Powiązane problemy