phpMyAdmin
 sql >> Datenbank >  >> Database Tools >> phpMyAdmin

Wie stellt man eine Verbindung zur Datenbank her, wenn sich der Server im Unix-Socket befindet?

Ich bin etwas verwirrt von deiner Frage.

Ich stehe am Fenster

Meinen Sie damit, dass Ihr PHP-Code auf einem MSWindows-Rechner läuft?

mein Server ist in UNIX

Wenn der Datenbankserver und der Datenbankclient (PHP) auf verschiedenen Rechnern laufen, können sie nicht über UNIX-Dateisystem-Sockets kommunizieren.

Der folgende Code funktioniert gut, wenn mein Server TCP/IP verwendet.

Nein, entweder Ihre Interpretation oder Ihre Beschreibung der Ereignisse ist falsch. Wenn Sie in einem libmysql-Client (einschließlich der mysql_-Erweiterung von PHP) als Zielhost 'localhost' angeben, versucht der Client, sich über den (Unix-) Dateisystem-Socket zu verbinden. OTOH. Wenn Sie 127.0.0.1 angeben, wird ein TCP-Socket verwendet.

Im ersten Szenario erhält der Client den Pfad zum Socket von ~/.my.cnf oder, falls diese Datei nicht vorhanden ist, /etc/my.cnf, oder wenn Sie die Clientbibliothek selbst kompiliert haben, $PREFIX/etc /my.cnf