Jeg er lidt forvirret over dit spørgsmål.
Jeg står på vinduet
Mener du, at din PHP-kode kører på en MSWindows-maskine?
min server er i UNIX
Hvis databaseserveren og databaseklienten (PHP) kører på forskellige maskiner, kan de ikke kommunikere via UNIX-filsystemsockets.
Koden nedenfor fungerer fint, hvis min server er i TCP/IP.
Nej, enten din fortolkning eller din beskrivelse af begivenheder er forkert. Hvis du angiver 'localhost' som målværten i en libmysql-klient (inklusive PHP's mysql_-udvidelse), så vil klienten forsøge at oprette forbindelse via (Unix) filsystem-socket. OTOH. hvis du angiver 127.0.0.1, vil den bruge en TCP-socket.
I det tidligere scenarie får klienten stien til socket fra ~/.my.cnf, eller i fravær af denne fil /etc/my.cnf, eller hvis du selv har kompileret klient-lib, $PREFIX/etc /my.cnf