Ich habe viele Websites, wo ich eine Menge von Includes verwendet. Diese Dateien, die ich einschließe, befinden sich auf einem externen Include-Server. Mein Problem ist: Ich möchte diese Dateien redundant machen, wenn der include Server ausfällt, werden sie von meinem zweiten include Server genommen. Das manuell auf jeder Website zu tun dauert viel zu lange, also frage ich mich, ob es eine Möglichkeit gibt, es zum Beispiel auf der Serverseite zu tun (wenn der Server also down ist, leitet es an den anderen Server weiter).PHP // Include-Datei von einem anderen Server, wenn der Standard-Include-Server heruntergefahren ist
Hier ist ein Beispiel dafür, wie ich gehören in der Regel meine Dateien:
<?php
$url = 'http://myincludeserver.com/folder/fileiwanttoinclude.php';
function get_data($url)
{
$ch = curl_init($url);
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $_REQUEST);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
$returned_content = get_data($url);
if(!empty($returned_content))
{
echo $returned_content;
}
else
{
include('includes/local_error_message.php');
};
?>
Danke fürs Lesen!
Überprüfen Sie einfach, ob das Include erfolgreich ist und falls nicht, von dem anderen Include. – m02ph3u5
Verwenden Sie Jquery-Ajax und erhalten Sie den Antwortcode mit '$ .ajax ({ // ... Erfolg: Funktion (Daten, TextStatus, xhr) { console.log (xhr.status); }, complete: Funktion (xhr, textStatus) { console.log (xhr.status); } }); 'dann wissen Sie Server ist fehlgeschlagen oder nicht – NaveenDA
danke für die Antwort, aber das ist der einfache Teil! Wenn ich es so mache, müsste ich es bei jedem Include machen, das ich benutze (was wie 1000+ ist). Ich bin auf der Suche nach einer Möglichkeit, es zu tun, also muss ich nicht jede einzelne Datei auf jeder einzelnen Website bearbeiten – jogoe