タイトルで述べたように、必要なストリームの情報を取得するために、twitch tv と own3d tv の json API を php 経由で使用しています。
この問題は、ページの読み込みが速くないことです。実際には、30 秒以上の機能のために php サーバーが停止することがあります。エラー: 致命的なエラー: 最大実行時間の 30 秒を超えました
私はオンラインインジケーターを使用しています:
function status($stream_id, $type){
if($type == 't'){
$chan = "http://api.justin.tv/api/stream/list.json?channel=" . $stream_id;
$json = file_get_contents($chan);
$exist = strpos($json, $stream_id);
if($exist) {
return true;
}else{
return false;
}
}else if($type == 'o'){
$url = 'http://api.own3d.tv/liveCheck.php?live_id=' . $stream_id;
$xml = simplexml_load_file($url);
$isLive=$xml->liveEvent->isLive;
if ($isLive == "true") {
return true;
}else{
return false;
}
}
}
そして、ストリームから情報を取得する関数を使用しています:
function api_stream_data($stream_id, $type){
$stream_id = sanitize($stream_id);
$type = sanitize($type);
if($type == 't'){
$streamData = json_decode(file_get_contents("http://api.justin.tv/api/stream/list.json?channel=$stream_id"),true);
$data = array(
'image'=>$streamData[0]['channel']['image_url_medium'],
'title'=>$streamData[0]['title'],
'limage'=>$streamData[0]['channel']['screen_cap_url_huge'],
'game'=>$streamData[0]['meta_game']
);
}else if($type == 'o'){
$streamData = json_decode(file_get_contents("http://api.own3d.tv/rest/live/list.json?liveid=$stream_id"),true);
$data = array(
'image'=>$streamData[0]['thumbnail_small'],
'title'=>$streamData[0]['live_name'],
'limage'=>$streamData[0]['thumbnail_large'],
'game'=>$streamData[0]['game_name']
);
}
return $data;
}
すべての機能は完璧に機能しますが、問題は実行にかかる時間です....
それをより速く行う方法はありますか?? www.solomid.netやwww.clgaming.netのように、非常に高速にロードされる他のサイトの例を見てきました。
助けてくれてありがとう!
編集: *解決済み*ご協力いただきありがとうございます。データをデータベースに保存する cronjob を使用してから、それらを要求するクエリを作成しました。5 分ごとに更新されますが、何もないよりはましです。