PHP, MySQL funktionieren nicht sofort nach Update auf MacOSX 10.4.4
Mit der Aktualisierung auf OS X 10.4.4 hat Apple auch die Vorgabe, über welche Datei PHP mit dem Datenbankserver MySQL kommuniziert geändert. Ruft man jetzt eine lokale Webseite auf, die über PHP eine Verbindung mit einer MySQL-Datenbank aufnehmen möchte, dann erscheint eine Fehlermeldung.
mac.delta-c
PHP, MySQL und das Update auf 10.4.4
von Kai SurendorfMit der Aktualisierung auf OS X 10.4.4 hat Apple auch die Vorgabe, über welche Datei PHP mit dem Datenbankserver MySQL kommuniziert geändert. Ursprünglich wurde die Verbindung über die Datei /tmp/mysql.sock aufgenommen. Diese Datei wird auch von MySQL in der Standardinstallation angelegt. Mit 10.4.4 wurde allerdings der Pfad von Apple auf /var/mysql/mysql.sock geändert. Ruft man jetzt eine lokale Webseite auf, die über PHP eine Verbindung mit einer MySQL-Datenbank aufnehmen möchte, dann erscheint folgende Fehlermeldung:
Die Lösung besteht darin, PHP mit einer kleinen Änderung in der Datei /etc/php.ini mitzuteilen, dass die Verbindung zu MySQL nicht gemäß der Vorgabe von Apple erfolgen soll. Hierzu wird zuerst mit sudo nano /etc/php.ini die Einstellungsdatei von PHP geöffnet. (Sollte diese noch nicht existieren, dann kann mit sudo cp /etc/php.ini.default /etc/php.ini der in OS X standardmäßig enthaltene Prototyp dieser Datei an die richtige Stelle kopiert werden.) In nano muss nun die Zeile
mysql.default_socket =
in
mysql.default_socket = /tmp/mysql.sock
geändert werden. Anschließend die Datei sichern und den Webserver mit der Eingabe sudo apachectl restart neu starten.
http://mac.delta-c.de/node/807
Kommentare
THX
nachdem ich meine lokalen MySQL-Datenbanken eine ganze Zeit nicht benötigt habe, hatte ich das gleiche Problem, mit der gleichen Fehlermeldung. Ich bin fast verzweifelt und habe alles mögliche neu installiert. Dann habe ich mir alles genau angesehen und bin auch auf das Socket-Problem gekommen, wollte mich aber erst mal per Google informieren. Jetzt bin ich sehr froh, dass es wirklich nur diese Kleinigkeit ist.
Doku
Also diese Änderung hat Apple soweit ich weiß, nirgendwo dokumentiert. Das war wohl eher ein Versehen als Absicht. Ansonsten gibt es zu den grundlegenden Änderungen immer eine Technote.
unix als basis für os x
habe mir zwei tage lang die Zähne ausgebissen und die Verzeichnisse durchsucht.
man muss nur wissen wo...
Danke, danke, danke
Hatte das selbe Problem.
gruss
Lukas
unix-socket vs. network
Bei Angabe der IP-Adresse 127.0.0.1 (statt localhost) wird statt des UNIX-Sockets (also der Datei /tmp/mysql.sock) das Netzwerk zur Verbindung an MySQL genutzt. Da hat sich wohl nichts geändert (Standardport 3306 - nach wie vor) - deshalb geht's damit.