Gå til innhold

Problemer med å nå MySQL fra browseren i Windows7


Anbefalte innlegg

Hei!

Sliter veldig med å nå databasen via script som kjører i browseren. Har akkurat oppgradert til Windows 7 og (flere ganger) lagt inn Apache, php og mysql.

 

Både Apache-serveren og php ser ut til å fungere fint. Når jeg sjekker tjenester som kjører på Win7, får jeg beskjed om at mysql kjører (går også fint å aksessere mysql via feks Mysql Admin).

 

Siden jeg i dette tilfellet hverken er ekspert - eller særlig god - på det ene eller det andre, så fant jeg etterhvert et par script på web som vistnok skal sjekke db. Det ene ser slik ut:

 

<?php

mysql_connect("localhost", "brukernavn", "passord") or die(mysql_error());

echo "Connected to MySQL<br />";

?>

 

Prøver å kjøre dette, men det eneste som skjer er at koden fremkommer på websiden slik den er vist ovenfor (med unntak av brukernavn og passord, selvfølgelig :D (Ved kjøring av andre php-sider, fungerer php fint.)

PS! Har i tillegg prøvd andre script og det eneste resultatet jeg får, er at det timer ut etter 60 sek.

 

Jeg har prøvd å reinnstallere både apache, php og mysql, uten hell. Siden jeg kjører Windows 7, så er ikke default brukeren Admin (fant jeg ut etter MYE om og men), men dette endret jeg ved å kjøre:

net user administrator /active:yes

i ledeteksten, og så logget jeg inn som administrator, reinnstallerte, testet, reinnstallerte, osv, osv...

 

Jeg har sjekket både php.ini og httpd.conf og for en superamatør, ser det helt okey ut...tror jeg... :hmm:

 

Kanskje du har en ide om hva jeg bør sjekke? I så fall hadde jeg satt veldig stor pris på det! :D

 

Krysser fingrene for at noen har trylletrikset! :thumbup:

Endret av edorf67
Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse

Er imponert! Denne tråden har blitt vist 60 ganger, og ikke EN ENESTE person har hatt noe å tilføye. Jeg misstenker sterkt at noen av dere har god peiling på både MySQL og data generelt.....og til dere kan jeg bare si: Up yours! ;)

 

Til dere andre som skulle få samme problemet: Her er oppskriften på min løsning. Håper den kan være til hjelp!

 

Jeg mener feilen skyldes en bug i enten Winows 7 eller MySQL. Mer om det lengre ned. Tenkte jeg først skulle beskrive for andre hvordan jeg har gått frem, om noen ønsker å legge inn nevnte programmer - uten å måtte gå gjennom samme røkla som meg;)

 

Har benyttet følgende versjoner (står nevnt i samme rekkefølge, som du bør innstallere programmene):

 

Apache:

Versjon: httpd-2.2.15-win32-x86-no_ssl.msi

Lastes ned fra: http://httpd.apache.org/download.cgi

 

PHP:

Versjon: php-5.3.2-Win32-VC6-x86.zip

Lastes ned fra: http://windows.php.net/download/

 

MySQL:

Versjon: mysql-essential-5.1.47-win32.msi

Lastes ned fra: http://www.mysql.com/downloads/mysql/

 

Apache og MySQL inneholder exe-filer, mens sistnevnte (PHP) må innstalleres "for hånd". En god beskrivelse for hvordan en går frem for å innstallere alle 3 programmene, står beskrevet på følgende webside:

http://www.webdevelopersnotes.com/how-do-i/install-apache-windows-7.php

 

PS! Sidene er både enkle og godt forklarte, og skulle du være rusten i engelsk, så ligger det en fyldig "bilde-beskrivelse" der i tillegg;-)

 

Som du kanskje har lagt merke til, så avviker filene mine i forhold til beskrivelsen på nevnte webside. Det skyldes nye versjoner fra leverandørene, men du kan fint benytte de filene jeg har nevnt. Det går greit, men bort sett fra ett problem som dukket opp hos meg:

 

Det virker altså som det er en bug i Windows 7, eller i MySQL. Denne skal vistnok utbedres fra versjon 6.0 av MySQL (feilen ligger i IPv6).

 

Feilen dukket opp hos meg når jeg prøvde å kjøre et test-script fra websiden som benyttet databasen (selvsagt etter at jeg la inn de tre nevnte program;-) Scriptet var som følgende:

 

<html>

<body>

<?php

mysql_connect("localhost", "root", "mitt_passord") or die(mysql_error());

echo "Connected to MySQL<br />";

?>

</body>

</html>

 

PS! - Mitt_passord - er selvsagt byttet ut med mitt reelle passord;)

 

Dette gjorde at websiden sto og "hang" til jeg fikk timeout etter 30 sekunder, med påfølgende feilmeldinger.

 

Etter enda mer prøv-og-feil kom endelig løsningen på problemet. Benyttet Notepad og gikk inn i filen:

c:\windows\system32\drivers\etc\hosts

 

I denne filen ligger bl.a. 3 følgende linjer:

 

# localhost name resolution is handled within DNS itself.

# 127.0.0.1 localhost

# ::1 localhost

 

Når jeg fjernet kommentar-taggen fra midterste linje og restartet pc'n, virket endelig alt fint:-) De tre linjene ble da seende ut som dette:

 

# localhost name resolution is handled within DNS itself.

127.0.0.1 localhost

# ::1 localhost

 

 

Lykke til! :-)

Lenke til kommentar

Er imponert! Denne tråden har blitt vist 60 ganger, og ikke EN ENESTE person har hatt noe å tilføye. Jeg misstenker sterkt at noen av dere har god peiling på både MySQL og data generelt.....og til dere kan jeg bare si: Up yours! ;)

MySQL er etter min mening full av sånne «features», derfor styrer jeg unna når jeg kan. Men når jeg graver i hukommelsen husker - etter å ha sett løsningen desverre - jeg jo at det funker dårlig med 'localhost' og bedre med '127.0.0.1'. Men som sagt, jeg gjør mitt ytterste for å ha minimal peil på MySQL, så jepp; MySQL stapper vi et visst sted, ikkesant?

Lenke til kommentar

I stedet for å laste ned og installere Apache, Php og Mysql separat, så er f. eks Xampp ganske kjekt, det installerer og setter opp alt dette for deg. Xampp er ikke ment for produksjons servere, da det er veldig åpent på standard innstillingene, men er kjekt for testing/utvikling.

 

Ett lite tips når hostname ikke fungerer er alltid å teste ip nummer. 127.0.0.1 er alltid den maskinen man sitter på (er databasen på en annen maskin enn den man sitter på så fungerer selvfølgelig ikke dette), eller man kan prøve det ip nummeret maskinen har fått tildelt (f. eks 10.0.0.100, 192.168.2.153, 172.17.72.50 osv). I windows: windows tast + r -> cmd -> ipconfig for å se ip nummer (eller rot igjennom egenskaper på nettverksikonet). Er også avhengig av hvilke ip nummer mysql brukeren er satt opp til å svare på, tror standard er kun localhost/127.0.0.1

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...