fopen() - Timeout selbst bestimmen

der_maiki

Erfahrenes Mitglied
Hallo,
ich bin Admin eines Schulforums. Leider haben ir jedoch mit unserem Hoster in letzter Zeit Probleme. Noch möchten wir die Seite jedoch nicht auf einen anderen Server verlagern. Deshalb haben wir eine Tunnelseite gebaut. Diese liegt bei einem anderen Hoster. Es wird versucht durch fopen eine Verbindung zum Server des Schulforums herzustellen. Ist dies möglich, so wird der User per Header weitergeleitet. Funktioniert das ganze nicht, wird dem User eine Fehlermeldung ausgegeben. Mein Problem dabei ist jedoch, dass der Server auf dem die Tunnelseite liegt 120 Sekunden versucht mit dem Forum-Server Kontakt aufzunehen. Ist es möglich diese Zeit herunterzusetzen, sodass die Meldung schon nach bspw. 10 sek kommt? (Ich habe keine Root-Rechte)

Hier mal der Quellcode der Datei:

PHP:
<?php
 $dat=@fopen('http://gymmc.freewebspace4all.de/index.php','r');
 if($dat===false) {
?>
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Serverfehler - Der Server ist vorübergehend nicht erreichbar</title>
</head>

<body>

<div align="center">
  <center>
  <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1" height="100%">
    <tr>
      <td width="100%" align="center">
      <table border="1" cellpadding="2" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="400" id="AutoNumber2">
        <tr>
          <td width="100%">
          <p align="center"><b><font face="Verdana" size="2">.:. Die Seite ist 
          vorübergehend nicht erreichbar .:.</font></b></td>
        </tr>
        <tr>
          <td width="100%">
          <p align="justify"><font face="Verdana" size="1">Werter Besucher,<br>
          leider bestehen derzeit Probleme mit unserem Server. Aus diesem Grund 
          ist es leider nicht möglich, die gewünschte Seite anzeigen zu können. 
          Wirr versuchen jedoch, die vorliegenden Probleme schnellstmöglich zu 
          beseitigen, damit ein ordnungsgemäßer Betrieb des Servers wieder 
          möglich wird.</font></p>
          <p><font face="Verdana" size="1">Wir bitten um Ihr Verständnis!</font></p>
          <p><font face="Verdana" size="1">Das Forum-Team</font></td>
        </tr>
      </table>
      </td>
    </tr>
  </table>
  </center>
</div>

</body>

</html>
<?php
 }
 else {
  Header("Location: http://gymmc.freewebspace4all.de/index.php");
 }
?>

Mfg Maik
 
Oder Über die cURL Library, da könntest du auch nur die header empfangen und schauen ob da 404 oder nicht drin steht, bzw die anderen stats. Leider gibts das nicht auf allen Servern, aber timeouts kann man da auch einstellen.

Link: cURL
 
Hallo,
erstmal Danke für eure Antworten. Ich werd das erstmal mit dem fsockopen probieren. Um das jedoch endgültig klarstellen zu können, dass es funktioniert müsste der Server endlich mal wieder da sein. :(

Naja, wir werden sehen sprach der Blinde zu den Tauben. ;)

Maik
 
Zurück