2016-01-21 47 views
0

我正在使用Twitch API來檢查用戶是在線還是離線。代碼工作的很好,但它會減慢網站的加載過程。它可以從5-10秒開始加載網站。我怎樣才能減少加載時間?PHP Twitch API慢

我應該使用cookies,會話嗎?或者如何?

public function twitchOnline($twitchname){ 
      $curl = curl_init(); 
      curl_setopt_array($curl, array(
       CURLOPT_RETURNTRANSFER => 1, 
       CURLOPT_URL => 'https://api.twitch.tv/kraken/streams/'.$twitchname 
      )); 

      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
      $response = curl_exec($curl); 
      $checkkey = "language" ; 
      $position = strpos($response,$checkkey); 

      curl_close($curl); 

      if ($position === false) { 

      }else{ 
       if($twitchname != null){ 
        echo "streamOnline"; 
       } 
      } 
     } 
+0

只是一個猜測。但是您嘗試訪問https網址並停用了SSL。 'curl_setopt($ curl,CURLOPT_SSL_VERIFYPEER,false);'嘗試將其打開。 –

+0

ssl未停用。同行驗證是。這是一件壞事,但它不會禁用ssl ... – PeeHaa

回答

0

像這樣的API調用並不意味着每一次訪問頁面。您可以在服務器上使用cron,每2分鐘檢查一次流送器的狀態,將流式傳輸器狀態存儲在數據庫中,並且每次訪問頁面時只需從數據庫中檢索該狀態。

+0

但是第一次訪問頁面會很慢,對不對? – i5dogdgg

+0

cron是一個在後臺執行的進程。每當用戶訪問頁面時都不會執行。所以不,第一次訪問頁面不會變慢。 cron在特定時間執行。 https://en.wikipedia.org/wiki/Cron – Rein

+0

如何爲這段代碼激活這個CRON? – i5dogdgg