phpMyAdmin

@catvarlog
Du hast tatsächich Recht, hab's gerade getestet ;).

Überrascht bin ich vor allem deswegen, weil ich erwartete hätte, dass wenn connect_type=tcp eingestellt ist, auch tcp verwendet wird.
Wenn als host aber localhost eingetragen ist, wird trotzdem conect_type=socket verwendet.
Wird 127.0.0.1 als host eingetragen wird wieder tcp verwendet.

Ich persönlich empfinde das als unlogisch und inkonsistent.
 
das liegt an der mysql library von php. die macht immer socket, wenn man auf localhost geht. könnte man evtl. in phpmyadmin besser dokumentieren. es liegt aber nicht speziell an phpmyadmin sonder an php
 
catvarlog schrieb:
das liegt an der mysql library von php. die macht immer socket, wenn man auf localhost geht. könnte man evtl. in phpmyadmin besser dokumentieren. es liegt aber nicht speziell an phpmyadmin sonder an php
... und daran, dass Apple in dem Update auf 10.4.4 php ersetzt hat, ohne das zu dokumentieren.
Es wurde zwar die selbe Version installiert, diese wurde aber neu gebaut - offensichtlich mit gewissen Änderungen, u.a.:
10.4.3
Code:
php -i | grep MYSQL_SOCKET                                
MYSQL_SOCKET => /tmp/mysql.sock
10.4.4
Code:
php -i | grep MYSQL_SOCKET                                 
MYSQL_SOCKET => /var/mysql/mysql.sock
 
Wenn ich mich kurz dazwischen schalten darf, ich hab gerade ähnliche Probleme.

Mein phpMyAdmin (allerdings auch andere Clients) kann keine lokale Verbindung aufbauen, weil '/tmp/mysql.sock' nicht gefunden wurde. Ich hatte nun im Terminal versucht die Datei mit 'locate mysql.sock' ausfindig zu machen, leider ohne Ergebnisse. Ich hatte mal das PHP und MySQL Packages von Entropy draufgebügelt, mich allerdings nicht um die config gekümmert weil alles lief, dementsprechend ist nun mein Wissen darüber.

Wie finde ich nun diese mysql.sock Datei? Ich würde den Pfad danach in der '/Library/MySQL/var/my.conf' neu eintragen.

Gruss
 
Zuletzt bearbeitet:
Ok, is mir schon fast ein bisschen peinlich, aber…

der mysql Daemon lief nicht, darum wohl keine mysql.sock Datei

Nun wieder was gelernt und tschüss
 
Ansonsten hätte es auch gereich in der Config-Datei einfach das "localhost" durch "127.0.0.1" zu ersetzen. Dann kann auch phpMyAdmin wieder zugreifen.
 
Bei mir ist sowohl PHP 5.04 erhalten geblieben, als auch die socket-Datei weiterhin in /tmp! Woran mag sich das entscheiden was das Update macht? Hat jemand das Combo-Update verwendet?
 
wegus schrieb:
Bei mir ist sowohl PHP 5.04 erhalten geblieben, als auch die socket-Datei weiterhin in /tmp! Woran mag sich das entscheiden was das Update macht? Hat jemand das Combo-Update verwendet?

Ich habe zwar kein Combo-Update gemacht, aber es könnte ja durchaus sein, dass im Update-Paket eine aktualisierte PHP4-Version dabei war. Denn dazu brauchten die Apple-Paket-Schnürer ja nur die libphp4.so in /usr/libexec/httpd/ auszutauschen. Meine ist vom 9.12.05, was ja insofern Sinn machen würde. Da ich aber durch die Installation von Marc Lyanages PHP5 die httpd.conf (respektive einer inkludierten php.conf aus meinem User-Verzeichnis) angewiesen habe, die libphp5.so aus /usr/local zu nehmen, merkt man von einem solchen Update nichts.

Allerdings, wenn Apple bei einem Systemupdate auch die httpd.conf wieder neu schreibt, ist das »ursprüngliche« Apple-PHP4 wieder da.
 
Hilarious schrieb:
Allerdings, wenn Apple bei einem Systemupdate auch die httpd.conf wieder neu schreibt, ist das »ursprüngliche« Apple-PHP4 wieder da.

genau die Befürchtung hatte ich! Da das bei mir mit dem Onlineupdate nicht geschah, bleibt die Frage was wohl beim Combo-Update passiert. Einen Grund muß es ja geben, daß hier Einige hereinfallen und Andere nicht.
 
maceis schrieb:
... und daran, dass Apple in dem Update auf 10.4.4 php ersetzt hat, ohne das zu dokumentieren.
Es wurde zwar die selbe Version installiert, diese wurde aber neu gebaut - offensichtlich mit gewissen Änderungen

offensichtlich ist es so, wie du sagst. ich hoffe mal für die server-version, dass apple das dort wenigstens anspricht. lokal ist es schon recht nervig. aber auf einem server ist das ein unding.

btw: mir ist beim upgrade von 10.3 nach 10.4 die hosts-datei verloren gegangen. das war sehr ärgerlich. ich wünsche mir für 10.5 einen kleinen funken mehr "debian"-mentalität. zumindest was die updates und upgrades angeht....
 
hier hätte ich einen quick-and-dirty eingriff anzubieten für das mysql-Problem in 10.4.4 :

1. Terminal starten
2. "sudo bash" eingeben und ENTER , Passwort eingeben und ENTER
3. "ln -s /tmp /var/mysql" eintippen und ENTER

da PHP nach der mysql.sock in /var/mysql sucht, mysql diese Datei aber in /tmp anlegt, machen wir einfach einen symbolic link (I love UNIX ;) ).

4. "exit" und ENTER

dann sollte auch PHP und mysql wieder ordentlich funktionieren.

Gruss Heiko
 
dg2dra schrieb:
hier hätte ich einen quick-and-dirty eingriff anzubieten

*schüttel*

Code:
ln -s /private/tmp/mysql.sock /private/var/mysql/mysql.sock
 
catvarlog schrieb:
Code:
ln -s /private/tmp/mysql.sock /private/var/mysql/mysql.sock

praktisch gesehen isses ja (fast) das gleiche.
Wobei hinzuzufügen ist, bei Deiner Lösung vorher ein
Code:
mkdir /private/var/mysql
zumachen, sonst kommt nämlich ne Fehlermeldung, falls das Verzeichnis nicht existiert (gabs nämlich bei mir nicht).
Man kann übrigends auch in der /etc/php.ini eine Anpassung vornehmen, wo er die mysql.sock sucht und findet bzw. liegt.

Gruss Heiko
 
Zuletzt bearbeitet:
nein, das ist nur theoretisch "das gleiche". praktisch gesehen verlinkst du damit ein "world writeable" verzeichnis nach var. und das ist nicht sinnvoll.

btw: die vollständige "lösung" inkl. mkdir wurde bereist hier im thread gepostet.

nachtrag: wenn du das ganze tmp-verzeichnis nach /var/mysql links, dann bedeutet das in der praxis, dass alle daten, die eigentlich für /var/mysql gedacht sind, direkt in /tmp gespeichert werden. ich kann mich an system erinnern, bei denen die datenbanken unter /var/mysql bzw. /var/lib/mysql/. mit deiner lösung für ln würden die datenbank im /tmp-ordner gespeichert. deswegen das *schüttel*
 
Zuletzt bearbeitet:
catvarlog schrieb:
praktisch gesehen verlinkst du damit ein "world writeable" verzeichnis nach var. und das ist nicht sinnvoll.

ja, da geb ich Dir recht. Das war vermutlich auch der Grund, warum die mysql.sock aus dem /private/tmp genommen wurde und nach /private/var/mysql "verfrachtet" wurde.
Vielleicht sollte man das mal den mysql-devels mitteilen, so dass zukünftige Pakete dann angepasst compiliert werden.

Gruss Heiko
 
dg2dra schrieb:
Vielleicht sollte man das mal den mysql-devels mitteilen, so dass zukünftige Pakete dann angepasst compiliert werden.

dafür ist eigentlich apple zuständig. die stellen ja die distribution zusammen. eine distri definiert auch, wo die sockets liegen.
 
dg2dra schrieb:
Man kann übrigends auch in der /etc/php.ini eine Anpassung vornehmen, wo er die mysql.sock sucht und findet bzw. liegt.

das habe ich gerade gemacht. ist der sauberste weg und funktioniert.

Code:
; Default socket name for local MySQL connects.  If empty, uses the built-in
; MySQL defaults.
mysql.default_socket = /tmp/mysql.sock

danke für den tipp!
 
catvarlog schrieb:
dafür ist eigentlich apple zuständig. die stellen ja die distribution zusammen. eine distri definiert auch, wo die sockets liegen.

so? also ich hab mein mysql immer von http://dev.mysql.com geholt, da glaub ich nicht so recht, das das dort von Apple stammt.
Beim OS X Server wirds ja mitgeliefert, da kommts sicher von Apple, aber sonst...hmm.

Ja, mit der php.ini laesst sich das PHP "mundgerecht" machen :)

Gruss Heiko
 
dg2dra schrieb:
so? also ich hab mein mysql immer von http://dev.mysql.com geholt, da glaub ich nicht so recht, das das dort von Apple stammt.

neeeeh.... der mysql-socket wird m.E. eigentlich immer nach /tmp installiert. bis auf wenige aussahmen. z.b debian. dort liegt er unter "/var/run/mysqld/mysql.sock" weil die distri das so für richtig hält.

das problem liegt in der php-konfiguration, welche den socket nicht in tmp sucht. daher ist das wohl eher bei apple aufgehoben und nicht bei mysql, da php abweichend vom "standard" konfiguriert ist.
 
ja, wo die mysql.sock liegt wird ja sowohl beim mysql als auch beim php per configure-/compiler-option festgelegt. php muss sich da eigentlich nach mysql richten.

naja, was solls. ich wollte eh auf die php-version von entropy.ch umsteigen, da diese wesentlich vollständiger und umfangreicher als apples ist.

mal gucken, ob mein kram auch unter php5 geht, da tu ich gleich den groesseren schritt ;)

Gruss Heiko
 
Zurück
Oben Unten