Yritän PHP:llä yhdistää palvelimeen, mutta aina tulee ilmoitus Lost connection to MySQL server at 'reading initial communication packet', system error: 111.
Koodi: $con = mysql_connect("www.freesql.org:3306", "minunnimi", "minunsalasana");
Koitin myös yhdistää toiseen palvelimeen, mutta sain saman virheilmoituksen.
PHP:tä koitan ajaa db.cs.helsinki.fi-palvelimelta, jos tästä tiedosta on apua.
Google neuvoi sörkkimään my.cnf-tiedostoa, mitä en tietenkään löydä mistään.
Jos yritän omalta koneeltani hostata mysql-serveriä, niin mysql.socket-filua ei taas löydy mistään.
Minusta www ei sovellu ohjelmointiin ollenkaan, vaan laita http://-alku. Koitas file_get_contents-funktiota www:llä http:n sijaan: virhe.
En kyllä osaa silti selittää virhettä.
Äkkisestään tuli mieleen, että eikös tällaisen tulisi toimia:
$con = mysql_connect("db.cs.helsinki.fi", "minunnimi", "minunsalasana");
Pekka Mansikka kirjoitti:
Äkkisestään tuli mieleen, että eikös tällaisen tulisi toimia:
$con = mysql_connect("db.cs.helsinki.fi", "minunnimi", "minunsalasana");
Juu, kai sen tulisi toimia, mutta sylkee mainitsemaani virheilmoitusta.
Alkuperäisenkin koodin pitäisi toimia. On mahdollista, että PHP:llä ei ole oikeutta yhdistää mielivaltaisiin portteihin ulkomaailmassa; usein yhteydet on rajoitettu esimerkiksi ainoastaan virallisiin HTTP- ja FTP-portteihin. Voit testata yhteyttä ensin kotikoneelta, jotta saat suljettua pois muut virhevaihtoehdot.
Macro: www.freesql.org on palvelimen nimi, ja www tai muukaan sana ei nimessä tarkoita mitään erityistä. http:// olisi protokollamääre ja tässä aivan väärä sellainen. Tietenkään file_get_contents ei toimi ilman protokollamäärettä, koska sehän yrittäisi muuten vain lukea levyltä tiedostoa www.jotain. Kuitenkin kun yhdistetään johonkin palvelimeen, tarvitaan nimenomaan vain nimi.
Pekka Mansikka: Muuten hyvä, mutta tässä on kai tarkoitus tietoisesti yhdistää toiselle palvelimelle.
Yritin miettiä uudestaan, mitä kirjoitit...
Php-tiedostoja ajaa porskutat siis tuolla noin...
Oliko sittenkin niin, että yrität saada mysql-yhteyden ihan ulkopuoliseen mysql-palvelimeen (www.freemysql.prg).
Oliko näin?
Mahtaako mysql-yhteys ulkopuoliseen palvelimeen olla helsinki.fi palvelimella sallittu?
Jotkut pienet palvelimet eivät nimittäin hyväksy sitä, jottei linjat mene tukkoon.. ;))
No, tää oli vaan tämmönen...
Edit: Meta ehti väliin...
Onnistuin pystyttämään palvelimen omalle koneelleni, joten ongelma on käytännössä kierretty.
Aihe on jo aika vanha, joten et voi enää vastata siihen.