Set time-out auf simplexml_load_file
Ich habe dieses Skript gibt einen rss-feed. Ich möchte, zu tun haben, ist es zu versuchen zu erreichen die rss-url für so etwas wie 5 sec tops, und wenn Sie es nicht kann dann soll ich es zum laden einer backup-xml-Dokument ist auf dem server. Dies ist, was ich habe und es funktioniert nicht:
<?php
include '../php/connect.php';
$metaData = mysql_query("SELECT * FROM `siteinfo`") or die("couln't find table :(");
$displayData = mysql_fetch_assoc($metaData);
$url = $displayData['status'];
$xml = file_get_contents($url);
stream_set_timeout($xml, 5);
if ($xml == FALSE) {
$xml = simplexml_load_file('backUpXml.xml');
foreach ($xml->channel->item as $item) {
echo '<a href="'.$item->guid.'" alt="'.$item->title.'" target="_blank">', substr($item->title, 0, 62), '...</a><br /><span>', substr($item->pubDate, 4, 18),'</span><br /><hr /><br />';
}
} else {
$xml = simplexml_load_file($url);
foreach ($xml->channel->item as $item) {
echo '<a href="'.$item->guid.'" alt="'.$item->title.'" target="_blank">', substr($item->title, 0, 62), '...</a><br /><span>', substr($item->pubDate, 4, 18),'</span><br /><hr /><br />';
}
}
?>
Bin ich immer ein time-out Fehler-und das ist alles. Keine Einsicht wäre toll!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es eine weit bessere Lösung aufgezeigt von @AnthonySterling hier:
sleep(45);
Befehl.ini_set('default_socket_timeout', 5);
Mehr Informationen hierVom php.net:
Dies ist, was ich habe zu arbeiten: