/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
PHP+MySql+Windows problem
Fra : Mads Pedersen


Dato : 21-03-02 16:35

Hey,

Jeg har et script som tilgår en database på en helt anden server.

Det kører fint på to forskellige *nix servere, men når jeg prøver at køre
det på en Windows NT (Microsoft-IIS/5.0) server får jeg flg. fejlmeddelelse:

Warning: MySQL Connection Failed: Can't connect to MySQL server on
'sql01.dk' (10061) in D:[PATH TO SCRIPT]\common.inc.php on line 117
error connecting to host sql01.dk, by user [USERNAME]

Hvem har en forklaring+løsning på problemet?

På forhånd tak,

// Mads

PS. Min connect-funktion ser sådan her ud (pas på line-wraps):

function connect_to_db() {
global $dbuser, $dbpassword, $dbhost, $dbname;
// Connect to the database-server:
if (!($db=mysql_connect($dbhost,$dbuser, $dbpassword))) {
$errortext=(sprintf("error connecting to host %s, by user
%s",$dbhost, $dbuser));
echo $errortext;
exit();
}
if (!(mysql_select_db($dbname,$db))) {
$errortext=(sprintf("could not select %s on %s",$dbname, $dbhost));
echo "ERROR: $errortext";
exit();
}
}


 
 
Mads Pedersen (21-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 21-03-02 21:57

> From: Mads Pedersen <mads@imv.au.dk>
> Det kører fint på to forskellige *nix servere, men når jeg prøver at køre
> det på en Windows NT (Microsoft-IIS/5.0) server får jeg flg. fejlmeddelelse:

Måske kan det her hjælpe med at lokalisere fejlen!?

phpInfo for server hvor scriptet _IKKE_ fungerer:
http://www.madspedersen.dk/phpinfo.php

phpInfo for server hvor scriptet fungerer:
http://imv.au.dk/~mads/phpinfo.php


// Mads


Tonni Aagesen (22-03-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 22-03-02 00:24


"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B8BFBC4B.35BFD%mads@imv.au.dk...
> Hey,
>
> Jeg har et script som tilgår en database på en helt anden server.
>
> Det kører fint på to forskellige *nix servere, men når jeg prøver at køre
> det på en Windows NT (Microsoft-IIS/5.0) server får jeg flg.
fejlmeddelelse:
>
> Warning: MySQL Connection Failed: Can't connect to MySQL server on
> 'sql01.dk' (10061) in D:[PATH TO SCRIPT]\common.inc.php on line 117
> error connecting to host sql01.dk, by user [USERNAME]

Kan det være et DNS problem? Prøv at skrive IP i stedet for "sql01.dk". Det
er bare et forslag


--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk




Per Thomsen (22-03-2002)
Kommentar
Fra : Per Thomsen


Dato : 22-03-02 00:20


"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B8BFBC4B.35BFD%mads@imv.au.dk...
> Hey,
[snip]
> Det kører fint på to forskellige *nix servere, men når jeg prøver at køre
> det på en Windows NT (Microsoft-IIS/5.0) server får jeg flg.
fejlmeddelelse:
>
> Warning: MySQL Connection Failed: Can't connect to MySQL server on
> 'sql01.dk' (10061) in D:[PATH TO SCRIPT]\common.inc.php on line 117
> error connecting to host sql01.dk, by user [USERNAME]
>
> Hvem har en forklaring+løsning på problemet?
Jeg har ihvertfald et gæt. MySQL serveren tillader ikke at du connecter fra
NT'serveren med den bruger du anvender.

Hvorfor virker det så på to *nix-servere?
Mit gæt er at de 2 *nix-servere du har prøvet, begge er servere på IMV's
net, men NT'serveren er ikke, og at mysql-serveren ligeledes er på IMV's
net. Mysql serveren er så sat op til kun at acceptere connections fra
intranettet.
Det er selvfølgelig et rent gæt - jeg aner intet om det.


[snip]
> if (!($db=mysql_connect($dbhost,$dbuser, $dbpassword))) {
> $errortext=(sprintf("error connecting to host %s, by user
> %s",$dbhost, $dbuser));
> echo $errortext;
[snip]
Prøv evt. at putte resultatet fra mysql_error() i din $errortekst, og se om
det ikke giver et lidt mere brugbart output.
$errortext = sprintf("Error connecting to host %s, by user %s. MySQL
sais: %s", $dbhost, $dbuser, mysql_error() );
Jeg ville nok ikke bruge sprintf (Er det hurtigere end almindelig
konkatering?) - men det hører nok en anden tråd til ;).
$errortext = 'Error connecting to host '.$dbhost.' by user
'.$dbuser.'.\n MySQL sais:\n\t '.mysql_error();

MVH Per Thomsen,
http://www.pert.dk/



Mads Pedersen (22-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 22-03-02 08:14

> From: "Per Thomsen" <pert@pert.dk>
> Jeg har ihvertfald et gæt. MySQL serveren tillader ikke at du connecter fra
> NT'serveren med den bruger du anvender.
>
> Hvorfor virker det så på to *nix-servere?
> Mit gæt er at de 2 *nix-servere du har prøvet, begge er servere på IMV's
> net, men NT'serveren er ikke, og at mysql-serveren ligeledes er på IMV's
> net. Mysql serveren er så sat op til kun at acceptere connections fra
> intranettet.
> Det er selvfølgelig et rent gæt - jeg aner intet om det.

Et udemærket gæt - men det er ikke tilfældet. Sql serveren kører på et andet
netværk end de 3 forskellige servere jeg har prøvet at afvikle scriptet fra.
De to *nix servere afvikler det uden problemer, men Windows serveren brokker
sig.

mysql_error returnerer:
Can't connect to MySQL server on '195.249.157.86' (10061)

Som I kan se hjælper det ikke at skrive IP nummer istedet for hostnavn så
DNS idéen dur heller ikke.

Mht. til sprintf/ikke_sprintf så er min connect_db funktion et levn fra da
jeg var ved at lære PHP og bare skrev af fra bogen. Måske kan det gøres
bedre, men det har virket fint indtil nu og jeg har ikke oplevet
hastighedsproblemer.

// Mads


Per Thomsen (22-03-2002)
Kommentar
Fra : Per Thomsen


Dato : 22-03-02 16:24


"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B8C09834.35C93%mads@imv.au.dk...
> > From: "Per Thomsen" <pert@pert.dk>
[snip]
> > Mit gæt er at de 2 *nix-servere du har prøvet, begge er servere på IMV's
> > net, men NT'serveren er ikke, og at mysql-serveren ligeledes er på IMV's
> > net. Mysql serveren er så sat op til kun at acceptere connections fra
> > intranettet.
> > Det er selvfølgelig et rent gæt - jeg aner intet om det.
>
> Et udemærket gæt - men det er ikke tilfældet. Sql serveren kører på et
andet
> netværk end de 3 forskellige servere jeg har prøvet at afvikle scriptet
fra.
> De to *nix servere afvikler det uden problemer, men Windows serveren
brokker
> sig.
[snip]

Aha... jamen så tyder det jo på at problemet ligger på NT-serveren ;)
Firewall? Proxy? NAT?
Bare sådan 3 ord du kan tænke lidt over :)

//Per



Mads Pedersen (22-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 22-03-02 22:40

> From: "Per Thomsen" <pert@pert.dk>
> Aha... jamen så tyder det jo på at problemet ligger på NT-serveren ;)
> Firewall? Proxy? NAT?
> Bare sådan 3 ord du kan tænke lidt over :)

Betyder det at jeg kan frikende mit script og begynde at slå mit webhotel i
hovedet?

// Mads


Tonni Aagesen (22-03-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 22-03-02 22:50

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B8C1635C.35D0C%mads@imv.au.dk...

> Betyder det at jeg kan frikende mit script og begynde at slå mit webhotel
i
> hovedet?

Jeg er ikke rigtig med på den med dit netværk og sådan, men hvis du har dine
sider til at ligge hos en udbyder, er det mest normale at bruge 'localhost'
som host... altså:

mysql_connect("localhost", "username", "password") or die(mysql_error());

har du prøvet den?


--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



Mads Pedersen (22-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 22-03-02 23:19

> From: "Tonni Aagesen" <use.my@signature.com>
>> Betyder det at jeg kan frikende mit script og begynde at slå mit webhotel i
>> hovedet?
>
> Jeg er ikke rigtig med på den med dit netværk og sådan, men hvis du har dine
> sider til at ligge hos en udbyder, er det mest normale at bruge 'localhost'
> som host... altså:
>
> mysql_connect("localhost", "username", "password") or die(mysql_error());
>
> har du prøvet den?

Nu er det jo netop IKKE localhost men en anden mysql server jeg prøver at
forbinde til, så det ville nok ikke falde ud efter hensigten 8->

// Mads


Tonni Aagesen (22-03-2002)
Kommentar
Fra : Tonni Aagesen


Dato : 22-03-02 23:43

"Mads Pedersen" <mads@imv.au.dk> skrev i en meddelelse
news:B8C16C79.35D51%mads@imv.au.dk...

> Nu er det jo netop IKKE localhost men en anden mysql server jeg prøver at
> forbinde til, så det ville nok ikke falde ud efter hensigten 8->

Nej, det var osse et longshot Tror godt du kan banke den ansvarlige for
netværket i hovedet


--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



Mads Pedersen (23-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 23-03-02 09:12

> From: "Tonni Aagesen" <use.my@signature.com>
>
>> Nu er det jo netop IKKE localhost men en anden mysql server jeg prøver at
>> forbinde til, så det ville nok ikke falde ud efter hensigten 8->
>
> Nej, det var osse et longshot Tror godt du kan banke den ansvarlige for
> netværket i hovedet

Det vil jeg prøve,

Tak for input!

// Mads
----------------------------------
..: http://www.madspedersen.com
..: http://www.doubleloop.dk


Mads Lie Jensen (23-03-2002)
Kommentar
Fra : Mads Lie Jensen


Dato : 23-03-02 09:34

On Fri, 22 Mar 2002 08:13:40 +0100, Mads Pedersen <mads@imv.au.dk>
wrote:

>> Hvorfor virker det så på to *nix-servere?
>> Mit gæt er at de 2 *nix-servere du har prøvet, begge er servere på IMV's
>> net, men NT'serveren er ikke, og at mysql-serveren ligeledes er på IMV's
>> net. Mysql serveren er så sat op til kun at acceptere connections fra
>> intranettet.
>> Det er selvfølgelig et rent gæt - jeg aner intet om det.
>
>Et udemærket gæt - men det er ikke tilfældet. Sql serveren kører på et andet
>netværk end de 3 forskellige servere jeg har prøvet at afvikle scriptet fra.
>De to *nix servere afvikler det uden problemer, men Windows serveren brokker
>sig.
>
>mysql_error returnerer:
>Can't connect to MySQL server on '195.249.157.86' (10061)

I princippet kan der jo sagtens være åbnet for adgang til den
mysql-server fra de 2 unixservere, men samtidig være lukket for adgang
fra nt-serveren...

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Mads Pedersen (23-03-2002)
Kommentar
Fra : Mads Pedersen


Dato : 23-03-02 10:03

> From: Mads Lie Jensen <mads@gartneriet.dk>
> I princippet kan der jo sagtens være åbnet for adgang til den
> mysql-server fra de 2 unixservere, men samtidig være lukket for adgang
> fra nt-serveren...

Når du siger "i princippet" mener du så at det er muligt at mysql serveren
er sat op til at blokere for visse IP numre eller er der en indstilling så
mysql serveren ikke accepterer connections fra en Win server?

Det første (IP numre) virker usandsynligt da man nok ville blokere for alle
servere der ikke var ens egne, og det er ikke tilfældet.

Det andet (block Windows servere) kunne selvfølgelig være en forklaring, men
kan man det?

// Mads


Mads Lie Jensen (23-03-2002)
Kommentar
Fra : Mads Lie Jensen


Dato : 23-03-02 11:39

On Sat, 23 Mar 2002 10:02:48 +0100, Mads Pedersen <mads@imv.au.dk>
wrote:

>> I princippet kan der jo sagtens være åbnet for adgang til den
>> mysql-server fra de 2 unixservere, men samtidig være lukket for adgang
>> fra nt-serveren...
>
>Når du siger "i princippet" mener du så at det er muligt at mysql serveren
>er sat op til at blokere for visse IP numre eller er der en indstilling så
>mysql serveren ikke accepterer connections fra en Win server?

Jeg tror ikke man kan lukke for en windows-server. Men det er svjv meget
normalt kun at give adgang til udvalgte maskiner. På min server
herhjemme plejer jeg at oprette en bruger som kun har adgang fra
localhost. Og til nød også fra min windows-pc hvis jeg skal bruge en
Access-frontend til den.

>Det første (IP numre) virker usandsynligt da man nok ville blokere for alle
>servere der ikke var ens egne, og det er ikke tilfældet.

Derfor min 'i princippet'.
Du kan vel spørge dem som driver mysql-serveren?

--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk

Directory Opus - nu også til windows - http://www.gpsoft.com.au

Søg
Reklame
Statistik
Spørgsmål : 177504
Tips : 31968
Nyheder : 719565
Indlæg : 6408552
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste