login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mysql server met 2 ip

Offline XAXIS - 01/02/2007 13:28
Avatar van XAXISNieuw lid Beste leutes,

Ik heb een mysql server die op 2 netwerken tegelijk is aangesloten. Dit betekent dat de server 2 ip-adressen heeft.

Dit werkt nu naar behoren, maar ik wil op beide netwerken op elke computer een PHP script draaien die verbinding maakt met de server.

Het PHP bestandje staat dus niet op de server zelf, dus localhost zou niet werken. Hoe krijg ik het voor elkaar dat de script eerst kijkt of 'ie verbinding kan maken met de 1e IP, als die niet reageert dan de 2e IP, met een hele snelle timeout zodat het niet onnodig vertraagt.

Persoonlijk kan ik het alleen voor elkaar krijgen met 'or die' en dan de volgende mysql_connect. Maar dit vertraagt de boel extreem en de foutmeldingen stromen binnen.

3 antwoorden

Gesponsorde links
Offline Thomas - 01/02/2007 14:03
Avatar van Thomas Moderator Je kan kijken naar wie probeert de pagina te bekijken ($_SERVER['REMOTE_ADDR']) en op grond daarvan maak je een connectie op een bepaald netwerk. Vaak zijn de eerste 3 getallen van het IP-adres hetzelfde op hetzelfde netwerk.

Dus zoiets:
  1. <?php
  2. $ip_parts = explode(".", $_SERVER['REMOTE_ADDR']);
  3. array_pop($ip_parts);
  4.  
  5. switch(implode(".", $ip_parts))
  6. {
  7. // netwerk-scheme 1
  8. case "192.168.10":
  9. $db_server = "192.168.10.88";
  10. break;
  11.  
  12. // netwerk-scheme 2
  13. case "10.66.66":
  14. $db_server = "10.66.66.15";
  15. break;
  16.  
  17. // sja...
  18. default:
  19. die("could not determine network");
  20. }
  21.  
  22. // maak connectie met adres $db_server
  23. // ...
  24. ?>


Dit script kun je dan op alle netwerken gebruiken. Moet je wel alle smaken definiëren.
Offline XAXIS - 01/02/2007 14:51
Avatar van XAXIS Nieuw lid Dat had kunnen werken. Enkel begint elke PC op beide netwerken met 10.0.0.xxx.
Offline ikkedikke - 01/02/2007 15:08 (laatste wijziging 01/02/2007 15:31)
Avatar van ikkedikke PHP expert mysql_connect('host1','user','pass') OR mysql_connect('host2','user','pass') OR DIE('geen databaseserver beschikbaar!');
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.172s