Jag är lite förvirrad av din fråga.
Jag står på fönstret
Menar du att din PHP-kod körs på en MSWindows-maskin?
min server är i UNIX
Om databasservern och databasklienten (PHP) körs på olika maskiner kan de inte kommunicera via UNIX-filsystemsocket.
Koden nedan fungerar bra, om min server är i TCP/IP.
Nej, antingen din tolkning eller din beskrivning av händelser är felaktig. Om du anger 'localhost' som målvärd i en libmysql-klient (inklusive PHPs mysql_-tillägg) kommer klienten att försöka ansluta via (Unix) filsystemsocket. OTOH. om du anger 127.0.0.1 kommer den att använda en TCP-socket.
I det förra scenariot får klienten sökvägen till sockeln från ~/.my.cnf, eller i avsaknad av den filen /etc/my.cnf, eller om du har kompilerat klienten lib själv, $PREFIX/etc /my.cnf