[PHP] Webserver krijgt geen verbinding met externe DB

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Pali
  • Registratie: Juli 2009
  • Laatst online: 24-03 17:11
Hey allemaal,

Ik zit met een probleem waar ik best wel van baal. Een vriend van mij heeft een gameserver, waar ik een nieuwe site voor aan het maken ben. Op deze gameserver (een VPS) draait een MySQL database waar alle gegevens van de game instaan zoals gebruikers en dergelijke.

Nu was het idee om de site gedeeltelijk aan de database te koppelen, zodat gebruikers via de site bijvoorbeeld kunnen zien wie er online zijn, of account gegevens veranderen.
We willen hiervoor de website wel op een aparte webhost hebben, zodat wanneer de VPS down gaat door bijvoorbeeld een update, dat de site online blijft. Het probleem is nu dat vanaf de webhost geen verbinding gemaakt kan worden met de database op de VPS.

Wanneer ik echter de files vanaf de webhost naar mijn eigen PC kopieer, en vanaf hier de site run, kan de site ineens wel verbinding maken met de database.
Onze eerste ingeving was dat de gebruikte inloggegevens voor de database alleen vanaf een bepaald domein verbinding mochten maken. Om dit tegen te gaan hebben we het account ingesteld zodat het vanaf alle domeinen verbinding mag maken (Niet veilig, maar het gaat om een test). Hierdoor kunnen we wel vanaf meerdere locaties bij de gegevens (wanneer de site lokaal word gerunt, ookal is het domein anders), maar vanaf de webhost kunnen we er nog steeds niet bij.

We zijn nu een beetje door onze ideeën heen. We kunnen vanaf elke plek bij de database, behalve vanaf de webserver, terwijl we daar juist bij de gegevens willen kunnen.
Telkens maar weer blijft de zelfde foutmelding komen, namelijk:
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in *domeinnaam*
Dit gebeurt binnen een halve seconde, terwijl de timeout op 10 minuten staat. Daar heeft het dus (lijkt mij) niks mee te maken.

Wat weten we?

- Site draait bij Awardspace, de database op een aparte VPS.
- De database is benaderbaar van buiten af
- De enige plaats vanaf waar geen verbinding kan worden gemaakt is de webhost
- De benodigde poort staat open
- De benodigde rechten zijn er, aangezien het vanaf andere locaties wel werkt
- De timeout is het probleem niet. De foutmelding doet zich voor binnen een halve seconde
- Gebruikte software:
Webhost: Php 5.2.5
Server: MySQL 5.5.8
- Bij switchen naar PHP 5.3.1 veranderd de foutmelding naar:
Lost connection to MySQL server at 'reading initial communication packet', system error: 111
- Toevoegen van "bind-adress" aan my.cfn levert niets op.


Heeft iemand enig idee wat het probleem zou kunnen zijn? Zou de webhost connecties naar externe databases blokkeren? (Kan dat eigenlijk?)

Met vriendelijke groet,

Sander

[ Voor 6% gewijzigd door Pali op 04-02-2011 23:52 ]


Acties:
  • 0 Henk 'm!

  • BaseBoyNL
  • Registratie: December 2006
  • Laatst online: 20-09 15:04
Ik zou niet weten of het er iets mee te maken heeft maar staat misschien PHP SafeMode aan dat deze het tegenhoud een connectie naar buiten ?

Acties:
  • 0 Henk 'm!

  • Damic
  • Registratie: September 2003
  • Laatst online: 06:37

Damic

Tijd voor Jasmijn thee

Heb juist gelezen dat sommige servers geen verbindingen toelaten van en/of naar andere servers.

Al wat ik aanraak werk niet meer zoals het hoort. Damic houd niet van zijn verjaardag


Acties:
  • 0 Henk 'm!

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 11:15
Wat is je php versie, je mysql client versie, en je mysql server versie?

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


Acties:
  • 0 Henk 'm!

  • Pali
  • Registratie: Juli 2009
  • Laatst online: 24-03 17:11
Bedankt voor de reacties.

Ik heb even gekeken, maar safemode staat niet aan, dus dat is het ook niet.

De gebruikte PHP en mysql versies zijn:
Webhost: Php 5.2.5
Server: MySQL 5.5.8

Ik heb geprobeerd of het misschien wel werkte als ik PHP 5.3.1 gebruikte op mijn webhost, maar dit resulteerde in:
Lost connection to MySQL server at 'reading initial communication packet', system error: 111
Een veelgevonden oplossing hiervoor is het gebruik van "bind-adress" in my.cfn maar na het herstarten van de database bleek dat ook dit niks had uitgemaakt, het probleem blijft.

Iemand een suggestie?

Acties:
  • 0 Henk 'm!

  • ReenL
  • Registratie: Augustus 2010
  • Laatst online: 14-09-2022
Probeer is 127.0.0.1, misschien is je hostfile, niet wat ie moet zijn. En volgens mij dwing je zo een tcp-socket af.

Acties:
  • 0 Henk 'm!

  • Pali
  • Registratie: Juli 2009
  • Laatst online: 24-03 17:11
127.0.0.1 gaat niet werken, aangezien de database zoals gezegd op een andere server staat.
(tenzij je bedoelt voor de my.cfn file. Dit hebben we namelijk ook geprobeerd, wederom zonder resultaat)

Het rare is gewoon dat het vanaf elke willekeurige computer lijkt te werken, behalve vanaf de webserver.
Misschien had ik er bij moeten zetten dat de hosting word geregeld via Awardspace. Misschien dat daar het probleem zit? Ik heb er in ieder geval een ticket ingedient.

[ Voor 12% gewijzigd door Pali op 04-02-2011 23:53 ]


Acties:
  • 0 Henk 'm!

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 11:15
Ik gok dat je er even voor moet zorgen dat de versie van de mysqlclient libs die php gebruikt geupgrade worden naar dezelfde versie als de mysqlversie.

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


Acties:
  • 0 Henk 'm!

  • Pali
  • Registratie: Juli 2009
  • Laatst online: 24-03 17:11
Probleem is opgelost, Awardspace blokkeert standaard de verbindingen naar buiten uit veiligheidsoverwegingen. De verbinding is open gezet en de site werkt.

Bedankt voor de reacties allemaal!

Acties:
  • 0 Henk 'm!

  • Freeaqingme
  • Registratie: April 2006
  • Laatst online: 11:15
Dat is dan wel bij php 5.3.1 (wat inmiddels hopeloos verouderd is). Deze melding:
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server during query in *domeinnaam*
duidt er op dat er in eerste instantie wel verbinding gemaakt kon worden, maar dat deze vervolgens verbroken werd.

No trees were harmed in creating this message. However, a large number of electrons were terribly inconvenienced.


Acties:
  • 0 Henk 'm!

  • Pali
  • Registratie: Juli 2009
  • Laatst online: 24-03 17:11
Ja klopt, de verbinding werd gemaakt, maar vervolgens door het hostingbedrijf afgekapt. Dit is echter nu opgelost dus deze thread kan dicht :)

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Pali schreef op zaterdag 05 februari 2011 @ 00:29:
Dit is echter nu opgelost dus deze thread kan dicht :)
Een slotje is niet nodig op een topic als je je oplossing hebt. Zie daarvoor ook onze faq betreffende topiceinde.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 09:56

MueR

Admin Tweakers Discord

is niet lief

Ik schop hem wel even naar Programming, for good measure

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1