Kenelläkään kokemusta otsikossa mainitusta kombosta? Saan kyllä seuraavalla my.ini
-konffeilla serverin pyörimään:
socket = "C:\mysql\mysql.sock" skip-networking enable-named-pipe
Ja tuohon yhdistäminenkin vielä onnistuu seuraavasti:
<?php mysql_connect( '.', 'test', 'test' ); ?>
Mutta yritäpä yhdistää tuohon jotenkin muutoin kuin noin manuaalisesti (osCommerce, Zend Framework) niin aina tulee virheeksi Can't open named pipe to host: . pipe: MySQL (2)
.
Tarkoitusperääsi sen enempää ymmärtämättä, miksi et koita yhdistää ihan osoitteeseen localhost?
Jos yrittää käyttää pisteen tilalla localhostia niin tuloop Can't connect to MySQL server on 'localhost'
. Yhteys pelaa pisteellä, mutta vain kun yhdistää ns. käsin. Tarkoitus olis pyörittää lokaalia palvelua siten, ettei siihen sallita yhteyksiä ulkopuolelta.
Outoa... Oletan, että olet testannut myös 127.0.0.1? Tosin tällöin yhteys muodostetaan TCP/IP:n eikä socketin kautta.
Kokeilin, sama homma. Ja eikös 127.0.0.1 localhost
-ohjaus hosts
-tiedostossa aiheuta yhteysyrityksien päätyvän kumminkin samaan osoitteeseen?
Ja eihän sen vissiin sinne TCP/IP:llä pidä pystyäkään yhdistämään, tai siltä skip-networking kuulostaisi.
Mitä mysql_get_host_info() kertoo tuon onnistuneen yhteyden tapauksessa?
Named pipe: c:\mysql\mysql.sock
Ei auta vaikka lisäis PDO:lle parametriin unix_socket=path
.
Koitahan my.iniin socket = mysql
<?php mysql_connect('C:\mysql\mysql.sock', 'mysql_user', 'mysql_password'); ?>
Suoraan manuaalista...
skip-networking ottaa pois käytöstä TCP/IP yhteydet joten sitä on edes turha yrittää. Toisekseen: *nix puolella localhost parametrina yritetään socket pohjaista yhteyttä aina. Ja Wintoosassahan nuo jutut kulkee nimellä "named pipes" ja *nix puolella melkein sama asia = socket.
Sen jälkeen kun tuon vielä eskapettaa oikein, tulee Unknown MySQL server host 'c'
. PEARin bugtrackerilla joku sanoo pdo_mysql try to connect to mysql with unix socket if you enter "localhost" as hostname., mutta ei tämä kyllä lähde pyörimään ei millään yhdistelmällä. Myöskään socket = mysql
ei auttanut.
Aihe on jo aika vanha, joten et voi enää vastata siihen.