Server erreichbar???

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Server erreichbar???

    Hallöchen!

    Habe folgendes kleineres Problem: Da MySQL Anbieter of nicht sehr zuverlässig sind, haben wir entschlossen, zwei MySQL Datenbanken bei verschiedenen Anbietern zu kaufen. Diese Datenbanken werden mehrmals täglich automatisch gespiegelt - nun meine Frage:

    Wie schreibe ich in PHP ein Script, dass z.B. erst unserer Hauptdatenbank ansteuert - falls diese nicht erreichbar ist, eben die zweite Datenbank??

    Hat jemand eine Idee?? Wäre sehr dringend und wichtig??!?

    Vielen Dank im voraus.

    Mit freundlichen Grüßen

    Sascha Klein
    PowerGRAFX Multimedia Networks



  • #2
    In diesem Zusammenhang wäre ich auch für einen 'Starting Point' in Sachen verteilte Datenbanken und Mirroring dankbar.

    CAT Music Files

    Kommentar


    • #3
      mach doch ein Frameset in dem du beide ansurfst, und an beiden Stellen wird der href vom top geändert, falls erreichbar. Wer zuerst kommt, mahlt zuerst.
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Hey Sky,

        was meinst Du damit??? Verstehe nicht was Du mit "Starting Point" meinst!


        Kommentar


        • #5
          Hey Titus,

          geht es etwas konkreter?? Verstehe nicht ganz!

          Vielen Dank!


          Kommentar


          • #6
            index.html:
            Code:
            <html>
            <head><title>Serverauswahl</title></head>
            <frameset rows="50%,*">
              <frame src="http://www.meinsever1.de/meinephp.php3">
              <frame src="http://www.meinsever2.de/meinephp.php3">
            </frameset>
            meinephp.php3:
            - nachschauen, ob DB-Server up
            - wenn ja, folgendes ausgeben:
            Code:
            <body onLoad="top.location.href = 'start.php3';">
              Dieser DB-Server ist oben.<br>
              Wenn Javascript ausgeschaltet ist, bitte
              <a href="start.php3" target="_top">hier klicken</a>.
            </body>
            - wenn nicht:
            Code:
            <body dummy="1">Tja, dieser DB-Server ist leider gerade down</body>
            (P.S.: das dummy="1" hindert hier nur das Board daran, das Tag zu verhunzen!)

            natürlich jeweils mit <html> drum und <head> drüber wenn gewollt ...



            Sieht zwar nicht so toll aus, aber falls du vor dem php-Timeout feststellst, daß der DB-Server nicht erreichbar ist, ist alles prima.
            Wenn auf einem der Server die Datenbank erreichbar ist, sorgt der Event-Handler onLoad dafür, daß zur entsprechenden start.php3 weitergeleitet wird.
            Ist keiner erreichbar, hast du 2x "nicht erreichbar" da stehen.


            Eine Alternative: kein Frameset, sondern zwischen dem einen und anderen Server hin- und herspringen, solange der aktuelle nicht erreichbar ist. Dazu dann im Fehlerfall ein location.href= ...
            mein Sport: mein Frühstück: meine Arbeit:

            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

            Kommentar


            • #7
              geht auch nur mit PHP

              Unter der Voraussetzung, daß die Datenbanken auf beiden Servern denselben Namen haben, gehts wie folgt:

              code:
              $DBhost="host1";$DBLogin="usrname1";$DBPwd="passwort1";
              if (mysql_connect($DBhost,$DBLogin,$DBPwd)) { echo "DB1 kontaktiert"; }
              else {
              $DBhost="host2";$DBLogin="usrname2";$DBPwd="passwort2";
              mysql_connect($DBhost,$DBLogin,$DBPwd) or die("Verbindung zur 1. und 2. Datenbank fehlgeschlagen");
              echo "DB2 kontaktiert"; }
              $DBName="datenbank";
              mysql_select_db($DBName);

              Gruß
              Henry

              Kommentar


              • #8
                @Henry: Das setzt voraus, daß du von dem einen Web-Server auf den anderen DB-Server connecten darfst.
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar


                • #9
                  @Titus

                  richtig. So wie das Problem beschrieben wurde, bin ich davon ausgegangen, daß diese Rechte bestehen.
                  Gruß
                  Henry

                  Kommentar


                  • #10
                    Hi,

                    Ich muß mich mal ganz leise dazu schleichen
                    Ist das auch mit Grafiken auf fremden Servern realisierbar ?? Ich meine wenn man die Grafiken auf FreeSpace lagert und die erreichbarkeit von FreeSpace Anbietern naja........
                    Man verlinkt die Grafiken auf den ersten Server und wenn der gerade down ist oder zu langsam ist, das sich das Script die Grafiken dann halt von den 2ten hohlt.

                    Wer mal so eine Idee....

                    Mfg Frosty
                    My New Projekt: P²Board
                    Designer im Team gesucht !

                    Kommentar


                    • #11
                      Das mit den Bildern wäre auch ne praktische Sache, die ich gut gebrauchen könnte. Ist es nicht so möglich:
                      Code:
                      if(file_exists("http://freeprovider1.de/bild.jpg"))
                      {
                      Dann mit Server 1...
                      }
                      else
                      {
                      Dann halt mit freeprovider2.de/bild.jpg
                      }
                      Also bei mir hats nicht funktioniert, hat immer mit dem ersten Server verbunden, auch wenn dieser down war...(mit und ohne dem "!")... Oder gibt es noch eine elegantere Lösung?

                      Gruss

                      swisstrain

                      Kommentar


                      • #12
                        nur so ne idee.

                        Gibt es sowas wie ein ping unter php?

                        php-Entwicklung | ebiz-consult.de
                        PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
                        die PHP Marktplatz-Software | ebiz-trader.de

                        Kommentar


                        • #13
                          Man könnte mal mit den Netzwerk-Funktionen rumprobieren, z.B. mit fsockopen ... oder einfach mit fopen() eine Datei öffnen und versuchen, ob's klappt ... wenn nicht, ist der Server wahrscheinlich down.
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar


                          • #14
                            Gibt es nicht irgendeine Möglichkeit mit ner Schleife dies zeitlich auf z.B. 5 Sekunden zu begrenzen? z.B. könnte man doch versuchen, während maximal 5 Sekunden mit fopen() die bilder zu holen, wenn dann noch keine Antwort gekommen ist halt auf den anderen Server wechseln.

                            swisstrain

                            Kommentar

                            Lädt...
                            X