Dienstag, 1. September 2009

MySQL Socket-Problem unter Mac OS X

Nach dem wir nun Apache, MySQL und PHP auf dem Mac OS X (Snow Leopard) zum laufen gebracht haben (siehe vorheriger Blogeintrag), wollen wir auch symfony mit dem doctrine OR-Mapper zum fliegen bringen.

Die Installation der 64-bit-Version von MySQL (mysql-5.1.37-osx10.5-x86_64.dmg) unter Snow Leopart ist übrigens problemlos.

Wenn man aber mit doctrine-Mittel gegen die MySQL-Datenbank arbeiten will, bekommt man folgende Meldung:
Warning: PDO::__construct(): [2002] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in…

Das hat damit zu tun, dass die php.ini (ursprunglich die php.ini.default vom Snow Leopard bereitgestellt) etwas unglücklich konfiguriert ist.
Das Verzeichnis für MySQL's PDO-Socket ist falsch angegeben. Der Parameter pdo_mysql.default_socket in der php.ini zeigt auf das Verzeichnis
/var/mysql/mysql.sock

Es wäre besser die Zeile mit einem ";" komplett zu deaktivieren, da dann die MySQL defauts verwendet wird.
Ein Blick in die MySQL-Doku verrät jedoch, dass das default-Verzeichns für die MySQL Socket-Datei "/tmp" ist.

Also, das Problem ist entweder so
; pdo_mysql.default_socket=/var/mysql/mysql.sock
oder so
pdo_mysql.default_socket=/tmp/mysql.sock
aus dem Weg geräumt.

Keine Kommentare:

Kommentar veröffentlichen